2013-05-16 92 views
2

我正在開發使用Tapestry 5.3.1如何使用Spring MVC的資源靜態圖像掛毯

我曾嘗試使用MVC資源映射到高速緩存圖像的應用程序,但它沒有工作!

這裏我的編碼:

上下文XML配置:

<mvc:resources mapping="/images/**" location="file:${catalina.home}/props/" cache-period="1234" /> 
<mvc:annotation-driven /> 

Index.tml:

<img src="/images/home.jpg" width="130" /> 

我在tomcat的卡塔利娜主路徑此home.jpg文件夾道具。

應用程序運行成功,但圖像未加載!

任何人都可以幫助我嗎?

回答

2

其實,最好的辦法是:

<img src="${context:images/home.jpg}"/> 

這是一個具有動態屬性的標準<IMG>標籤。

「context:」是一個綁定前綴;它決定如何解釋字符串的其餘部分。這裏是上下文根目錄下文件的路徑。

你會在瀏覽器中看到的src屬性取決於Tapestry的版本;它將是一個通過Tapestry路由並獲得遠期過期頭(5.3)和ETag(5.4)的URL。該URL將包含應用程序範圍的版本號(5.3)或基於文件內容的校驗和(5.4)。

另外,Tapestry中有掛鉤將URL轉換爲對CDN(Content Delivery Network)的引用。

換句話說,我們告訴瀏覽器它應該緩存該值,而不是再次請求它。這對於可伸縮性和性能非常重要。

我不知道mvc:/ Spring的東西應該做什麼,但它可能不像Tapestry那麼實用。

+0

非常感謝!真的很有幫助。 – karthi

0

試試這個:

<img src="${pageContext.request.contextPath}/images/home.jpg" width="130" /> 
+0

我使用Tapestry獲取contextpath並附加在圖像之前,但它也不起作用! – karthi