【问题标题】:dynamically load image names from database and display them using jsf 2.0从数据库动态加载图像名称并使用 jsf 2.0 显示它们
【发布时间】:2012-03-13 13:43:20
【问题描述】:

我正在尝试找到一种解决方案来从数据库加载图像名称并将它们显示在网页上。 基本上,当我显示图像时,我会这样做:

<h:graphicImage value="#{resource['mywebapp:image.png']}">
</h:graphicImage>

所以现在我想动态加载替代图像,而不是 image.png。问题是,我不能在另一个嵌套表达式中使用 EL 嵌套表达式(至少我还没有找到方法)。在这种情况下,将逻辑放入 backing bean 也无济于事,因为它是这样呈现的:

 <img src="#{resource['mywebapp:somedynamicallyloadedimagename.png']}">
</img>

唯一可行的方法是直接在 backing bean 中生成路径:

public String getImage() {
    this.image = "/mywebapp/javax.faces.resource/"+this.image+".jsf?ln=images";
            return image;
}                                       

然而,这个“解决方案”远非优雅,因为一切都是硬编码的,这不是我要放入生产应用程序的任何东西。 什么是一个很好的解决方案?我想避免将图像放入数据库并使用primefaces .. 由于我不是一个经验丰富的 JSF 编码器(正如您可能知道的那样),我非常感谢您对这个主题的一些想法......在此先感谢!

【问题讨论】:

    标签: jsf-2 glassfish myfaces


    【解决方案1】:

    试试

    <h:graphicImage library="images" name="#{generated.name}" />
    

    【讨论】:

    • 非常感谢!完美运行!
    猜你喜欢
    • 2011-05-07
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多