graphicImage和流内容primefaces和jsf

时间:2017-09-12 10:33:02

标签: primefaces jsf-2

所以,我设法将图像上传到我想要的位置,并且我给这些图像命名相同的对象属性名称,例如:fruit包含name apple,我有一个apple.jpg。 当我拨打#if CODE is index need s = df2['Clinic'] s = df2.set_index('CODE')['Clinic'] df1['Institute'] = df1['Institute'].replace(s) print (df1) index Institute 0 0 Clinic A 1 1 Clinic B 2 2 Clinic A 3 3 Clinic C

时,我可以直接看到图片

想象一下,我有一个包含所有水果的数据表,当我点击一些水果时,我想得到那个水果的图片。

<p:graphicImage name="apple.jpg" id="image" width="40" height="20" library="images" />

我搜索了整个堆栈,我迷路了。

1 个答案:

答案 0 :(得分:0)

我会假设:

  • 您有一个带图片的文件夹
  • 每个图片网址都作为字符串字段保存到水果实体中。

因此,当您从数据库加载Fruit实体时,您有一个图像完整URL。

<ui:repeat var="fruit" value="#{fruitBean.fruitListFromDatabase}">
    <h:graphicImage value="#{fruit.imageUrl}" rendered="#{!empty fruit.imageUrl}" />    
    <h:graphicImage library="images" name="no-image.png" rendered="#{empty fruit.imageUrl}" />  
</ui:repeat>

前面的代码将为每个Fruit渲染一个图像,如果没有上传图像(imageUrl为null),则会显示自定义的no-image.png。

当您在webapp的resources文件夹中有图像时,

h:graphicImage必须使用指定库和名称属性。

h:graphicImage与value属性一起使用,以显示完整的图片网址。

为什么我们不能将上传的图像存储在应用程序资源文件中?因为在重新部署时,图像将会丢失。

要提供自定义文件夹,您可以使用一些允许您创建虚拟服务目录的方法,例如,如果您使用的是Glassfish,则需要在glassfish-web.xml中引用外部文件夹。图片:

<property name="alternatedocroot_1" value="from=/media/* dir=/data" />

现在,可以找到图像:“your-domain.com/media/some-image.png”