簡體   English   中英

如何將服務器路徑圖像顯示到PrimeFaces p:graphicImage?

[英]How to show the server path image to PrimeFaces p:graphicImage?

當我檢索服務器路徑並顯示到p:graphicImage標記時,不顯示圖像。 圖像被加載到webbapp文件夾之外。 圖像的服務器路徑類似於\\\\qbsserver\\Test Folder\\test\\car.jpg

<p:graphicImage value="\\qbsserver\Test Folder\test\\#{image.imageName}" />

如何讓它們顯示? 我在Eclipse IDE中使用PrimeFaces 3.0和JSF 2.0。

你犯了一個概念上的錯誤。 服務器不是以某種方式包含和發送圖像以及生成的HTML輸出。 Web瀏覽器在HTML中遇到<img>標記時,按照<img src>指定的URL下載圖像。

所以它確實是一個普通的URL,正是最終用戶在webbrowser的地址欄中輸入的URL,而不是服務器特定的本地磁盤文件系統路徑。 使用webbrowser的最終用戶實際上沒有在其本地磁盤文件系統上的該路徑上具有該映像。

最簡單的方法是將文件夾添加為您正在使用的servlet容器的“虛擬上下文”。 目前還不清楚你正在使用哪一個。 在Tomcat中,需要在server.xml中添加一個新的<Context>

<Context docBase="/path/to/images" path="/images" />

而在Glassfish中,可以在glassfish-web.xml中添加alternatedocroot

<property name="alternatedocroot_1" value="from=/images/* dir=/path/to" />

有關詳細信息,請參閱servletcontainer的文檔。 最終,它們應該可以通過普通URL訪問,以便您可以使用例如:

<p:graphicImage value="/images/#{image.imageName}" />

其他方法涉及使用PrimeFaces StreamedContent API或homegrowing servlet。

也可以看看:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM