我在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"
答案 0 :(得分:1)
您需要在应用程序的上下文中,在JSF提供的资源或目录中复制您的图像。例如,在JSF页面旁边创建文件夹图像并使用以下命令加载:
<h:graphicImage value="/images/image.png"></h:graphicImage>
或者,如果您确实需要从磁盘加载/流式传输,请检查以下问题:Load images from outside of webapps / webcontext / deploy folder using <h:graphicImage> or <img> tag