我知道,要讓JSF顯示圖像,路徑必須來自Web /應用程序服務器根目錄,而不是系統根目錄。所以沒有絕對的路徑。但這是我的問題。由於我將允許用戶上傳他們自己的圖片並稍後顯示它們,因此我需要將圖像保存在某處。但是,如果將圖像保存在我的項目中,未來的項目重新部署可能會刪除我的照片。因此我認爲,最好將其上傳到不受未來重新部署影響的文件夾中。但是,然後h:graphicImage或p:graphicImage不允許我使用絕對路徑。我有什麼選擇來解決這個問題?JSF圖像和絕對路徑
我知道這給我的路徑,我的項目戰
ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
String path = servletContext.getRealPath("");
有沒有辦法讓我到Web /應用程序的根?
Primefaces 2.2-RC2
Glassfish的3.0.1
鑽嘴魚科2.0.3 Java EE 6的
編輯
有點研究,我學會了PrimeFaces讓你流圖像的內容使用FileInputStream
,您可以使用絕對路徑FileInputStream
。這可能是一個很好的解決方案,直到我測試並發現這隻能在RequestScoped和SessionScoped Bean上工作,而不能在ViewScoped上工作。
這裏是我發佈的鏈接,通知他們的開發人員這個重大的錯誤。 http://primefaces.prime.com.tr/forum/viewtopic.php?f=3&t=7052
還有其他想法嗎?
上述鏈接包含我的解決方案。一探究竟。 – 2011-01-13 04:13:51