1

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

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

/Users/nameOfUser/NetBeansProjects/MyProject/web

并且图像位于目录中:

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

该标签位于 myHtml.xhtml 中(该文件位于 web 文件夹中),内容如下:

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

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

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

提前致谢!

编辑:我正在使用库:

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

1 回答 1

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

于 2017-05-16T17:55:21.480 回答