如何从资源文件夹引用p:graphicImage中的img

Ton*_*ero 3 jsf primefaces graphicimage

我在以下路径中有一张图片:

resources
\_____img
 \_______sites
  \_______reddit.png
Run Code Online (Sandbox Code Playgroud)

我使用以下命令行来引用它:

<p:graphicImage library="img" name="/sites/reddit.png"/>
Run Code Online (Sandbox Code Playgroud)

但在开发控制台中却说:

GET http://localhost:8080/RES_NOT_FOUND 404 ()
Run Code Online (Sandbox Code Playgroud)

并且不会渲染图像。

怎么了?

小智 5

Kukeltje建议的url(JSF资源库的用途是什么以及应如何使用?)是解决此问题的权威资源。

基于该URL,我认为资源文件夹不应位于WEB-INF下。假设您使用的是默认的Maven项目布局,则其结构应如下所示

src/main/webapp/resources
-------------------------/img
-----------------------------/sites
-----------------------------------/reddit.png
src/main/webapp/WEB-INF
-----------------------/web.xml
Run Code Online (Sandbox Code Playgroud)

然后,以下JSF构造应该起作用。

<p:graphicImage library="img" name="sites/reddit.png"/>
Run Code Online (Sandbox Code Playgroud)