2013-10-19 136 views
2

我正在開發Sprng MVC中的購物車,賣家可以通過它的描述上傳產品圖片。我可以將圖像上傳到webapp/resources/images文件夾。現在,當任何用戶打開我的網站時,我必須將所有這些圖像加載到儀表板頁面(主頁)。我無法從這個位置加載這些圖像。如何從java項目的資源/圖像文件夾加載圖像?

在我的jsp我寫最後的代碼是這樣的:

<img src="resources/images/product1.jpg"/> 

我怎麼能這個文件夾添加到類路徑,以便它會是可用的。我正在使用Spring MVC和MAVEN。

請讓我知道如何做到這一點。

+0

可以請你分享圖片上傳到資源文件夾的代碼。 – boycod3

回答

0

我能解決這個問題: 添加了以下資源聲明Spring配置

<resources mapping="/resources/**" location="/resources/" /> 

和JSP

<img src="<c:url value="/resources/images/product1.jpg" />" alt="" /> 

謝謝你們爲您的所有幫助,你的方向真的幫我找到了這個問題的答案。

+0

我能夠解決此問題: 添加以下資源聲明Spring配置 <資源映射= 「/資源/ **」 位置= 「/資源/」/> 和JSP 「ALT =」」 /> 謝謝你們爲您的所有幫助,你的方向真的幫我得到這個問題的答案。 – Vcoder

3

隨着Expression Language (EL)在JSP:

<img src="${pageContext.request.contextPath}/resources/images/product1.jpg"/> 
+0

+1這應該自動附加'/ webapp /'並解決OP的問題。 –

+0

$ {pageContext.request.contextPath}給我我的項目文件夾的名稱和URL正在形成/myShoppingCart/resources/images/product1.jpg和圖像不上來 – Vcoder

+0

可以請你分享圖像上傳到資源文件夾的代碼。 – boycod3

0

據我瞭解,你上傳你的圖片到你的服務器上的一個單獨的文件夾,並要包含在類路徑中的文件夾來檢索和顯示圖像的JSP。

在Spring MVC,您可以強制通過在前面使用絕對路徑(相對於系統的根目錄)「文件:」與網址資源:

// actual context type doesn't matter, the Resource will always be UrlResource` 
ctx.getResource("file:/root/webapp/resources/images"); 

// force this FileSystemXmlApplicationContext to load its definition via a UrlResource` 
ApplicationContext ctx = 
     new FileSystemXmlApplicationContext("file:/root/webapp/resources/images");` 

這是通過指定絕對URL來添加圖像目錄的一種方法。

如果你有你的圖像目錄相對於當前目錄,並要添加到您的類路徑,然後通過以下方式將工作:

ApplicationContext ctx = 
    new FileSystemXmlApplicationContext("resources/images"); 

這個工作相對於當前工作directory.The圖像將從文件系統位置加載,在這種情況下相對於當前工作目錄。所以,我們已經將目錄添加到classpath中。同樣,您也可以在XML中進行類路徑配置。

<mvc:resources mapping="/resources/**" 
       location="classpath:resources/images" 
       cache-period="10000" /> 

<mvc:resources mapping="/resources/**" 
       location="file:/root/webapp/resources/images" 
       cache-period="10000" /> 

我們現在能夠檢索圖片在你的JSP如下

<img src="${pageContext.request.contextPath}/resources/images/user.jpg"/> 

上述EL ${pageContext.request.contextPath}的保證上下文總是前綴。

注意:在Spring 3.2中。2,the Context path is prepended automatically if not present.

相關問題