GlassFish alternatedocroot路径应该如何在h:graphicImage中显示图像?

时间:2015-06-21 10:34:06

标签: image jsf glassfish

我在index.xhtml文件中显示图片时出现问题。

我希望我的数据库中的链接指向图像文件,以便<h:graphicImage/><img />标记可以显示它。目前仅使用localhost。

我设法将图片保存到c:\ var \ webapp \ images \,并将<property name="alternatedocroot1" value="from=/images/* dir=/var/webapp" />添加到我的glassfish-web.xml并使用:

<h:graphicImage value="#{entity.imageLink}" />
<img alt="#{entity.title}" src="#{entity.imageLink}" />

但我从未设法显示任何图像!应该在我的数据库中写什么来显示保存在c:\ var \ webapp \ images \ imageExample.jpg中的imageExample.jpg?我的想法是问题出在我的道路上,但我可能错了。

2 个答案:

答案 0 :(得分:1)

解决了这个问题:

更改
<property name="alternatedocroot1" value="from=/images/* dir=/var/webapp" />

<property name="alternatedocroot_1" value="from=/images/* dir=c:\var\webapp" />
注意斜杠。

在我的数据库(MySQL)中,我保存/images/imageExample.jpg,然后将<h:graphicImage value="#{entity.imageLink}" />显示。

我现在可以http://localhost:8080/<MyAppName>/images/imageExample.jpg访问图片。

答案 1 :(得分:0)

当有疑问时,打印到服务器日志以查看传递给标记的内容总是一个好主意,但我认为问题是当使用反斜杠时它应该加倍\因为它用于转义字符。