使用相对路径作为h:graphicImage标记中的值

时间:2017-05-16 14:09:12

标签: html java-ee netbeans glassfish-4 graphicimage

我在HTML中使用h:graphicImage标记将图像加载到与当前目录不同的目录中。

例如,假设我的工作目录是:

/Users/nameOfUser/NetBeansProjects/MyProject/web

,图像位于目录中:

/Users/nameOfUser/Downloads/glassfish4/glassfish/domains/domain1/config/image.png

标签位于myHtml.xhtml(此文件位于网络文件夹中),如下所示:

<h:graphicImage value="../../../Downloads/glassfish4/glassfish/domains/domain1/config/image.png"/>

我通过检查命令行知道路径是正确的,但是我收到了IllegalArgumentException。我尝试改变路径,使其不是相对路径。这解决了错误,但我需要一个相对路径才能正确定位图像。

有人可以建议为什么会发生这种情况吗?这个标签不接受相对路径吗?

提前致谢!

编辑:我正在使用图书馆:

xmlns:h="http://xmlns.jcp.org/jsf/html"

1 个答案:

答案 0 :(得分:1)

您需要在应用程序的上下文中,在JSF提供的资源或目录中复制您的图像。例如,在JSF页面旁边创建文件夹图像并使用以下命令加载:

<h:graphicImage value="/images/image.png"></h:graphicImage>

example

或者,如果您确实需要从磁盘加载/流式传输,请检查以下问题:Load images from outside of webapps / webcontext / deploy folder using <h:graphicImage> or <img> tag