2012-03-27 115 views
2

我開發本地使用兩個碼頭和Tomcat。試圖讓MVC資源來爲我的靜態資源

我的圖片,CSS,JavaScript文件是:

/src/main/webapp/assets 

在文件夾的資產有:

/src/main/webapp//assets/images 
/src/main/webapp//assets/css 
/src/main/webapp//assets/images/ 

我的Spring配置文件有:

<mvc:resources mapping="/assets/**" location="/" /> 

我混淆映射和位置都意味着什麼?

我想映射意味着春天將只嘗試和服務於靜態文件,如果有喜歡的圖案的網址:

www.example.com/assets/ 

是什麼位置呢?

我的HTML目前擁有:

src="/assets/images/logo.gif" 

我試着位置值耍了,我沒有得到渲染出於某種原因圖像。

有人可以清除此爲我?

+0

你看了在http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html點16.14.5? – madth3 2012-03-27 23:49:49

回答

5

如果你的項目結構具有/src/main/webapp/assets/images,那麼你要使用:

<mvc:resources mapping="/assets/**" location="/assets/" /> 

,然後在你的JSP參考文件作爲

src="${pageContext.request.contextPath}/assets/images/logo.gif" 

它更常見的是有一個項目結構像/src/main/webapp/images|css|js和然後使用:

<mvc:resources mapping="/assets/**" location="/" /> 

但仍記得平網址作爲${pageContext.request.contextPath}/assets/images/logo.gif

+0

contextPath是什麼?因爲如果可能的話我想保留圖像。甚至有網址的子域(說他們是從CDN服務.... – Blankman 2012-03-28 01:48:08

+0

的contextPath是根路徑(通常是應用程序/戰爭的名字),如果你在Tomcat上運行,等(但如果用虛擬運行可以是空的在主機生產環境)你是如何運行你的應用程序 - ?什麼是完整的URL頁面 – nickdos 2012-03-28 02:39:42

+0

以及它可能是一個自定義的映射域(將有成千上萬的),或者說上一個子mywebsite.example.com – Blankman 2012-03-28 14:57:28