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

Using a relative path as the value in a h:graphicImage tag

我正在使用 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"

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

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

example

或者如果你真的需要从磁盘load/stream它,检查这个问题:Load images from outside of webapps / webcontext / deploy folder using <h:graphicImage> or <img> tag