2011-12-14 50 views
-2

我正在處理應用程序,我需要將我的應用程序圖像和其他東西,如js等 現在在我的JSP文件中,當我嘗試使用此路徑無法加載靜態內容(圖像/ JS)在網絡應用程序

<img src="static/media/images/logo.gif" alt="welcome" /> 

我看到下面的錯誤在瀏覽器中加載圖像:unable to load the image

我甚至試過指的絕對路徑

<img src="/static/media/images/logo.gif" alt="welcome" /> 

但仍然沒有運氣。最後,當我追加我的項目名稱時,它開始工作。例如,如果我的網絡應用程序名稱爲abc我用下面的事情

<img src="/abc/static/media/images/logo.gif" alt="welcome to donateblood.com" /> 

,但我肯定不是指圖像的正確方法,因爲這意味着Web的應用程序名稱的改變會導致我改變每每一個圖像的URL都根本不可行。 在css文件中提到的圖像工作得很好。 任何人都可以引導我正確的方式來引用圖像。

其他信息: 我使用Eclipse作爲我的IDE和Tomcat作爲與它一起的容器是一個Java EE標準的Web應用程序

+0

[瀏覽器在調用轉發到JSP的Servlet時無法訪問CSS和圖像](http://stackoverflow.com/questions/3655316/browser-cant-access-css-and-images-當調用一個小服務程序,它轉發到aj/3658735#3658735) – BalusC 2011-12-14 19:03:41

回答

1
static/media/images/logo.gif 

是相對路徑。如果你http://localhost/myWebApp/foo/bar.html頁面上,它會解析爲

http://localhost/myWebApp/foo/static/media/images/logo.gif 

/static/media/images/logo.gif 

是絕對的網絡server.Wherever你是一個路徑,它解析爲

http://localhost/static/media/images/logo.gif 

因此,您需要將Web應用程序的上下文路徑預先設置爲絕對路徑。使用

<img src="${pageContext.request.contextPath}/static/media/images/logo.gif" alt="welcome" /> 

<img src="<c:url value='/static/media/images/logo.gif'/>" alt="welcome" /> 

,你應該在Web應用程序的所有網址做。

+0

感謝您的幫助,我知道關於web應用程序的上下文是如果可能以其他方式繞過或不 – 2011-12-15 03:30:16