2012-02-22 46 views
0

我有一些圖像存儲在/圖像問題是,我希望從類返回像這樣的網址。Java:從Java類返回相對URL?

/images/test.png 

的問題是,在我的機器我的網址是在

http://localhost/myApp 

的形式和生產及其在

http://www.mysite.com 

形式,所以我不能只是返回/圖像,因爲這不適用於開發機器

我想我想在Java中做的是山姆Ë作爲德JSTL標籤做

<c:url 

所以,當我在我的機器,它將返回

/myApp/images/test.png 

,並在生產

/images/test.png 

誰能幫助?

在此先感謝

+0

相關:http://stackoverflow.com/questions/3655316/browser-cant-access-css -and-images-when-calling-a-servlet-which-forwards-to-aj/3658735#3658735 – BalusC 2012-02-22 17:26:27

回答

1

您需要使用的ServletRequestgetContextPath()方法 - 然後追加你的路徑的其餘部分:

String url = request.getContextPath() + "/images/test.png"; 
+0

謝謝,但它是一個標準的java STATIC方法,因此我沒有請求,是否有解決方法? – Martin 2012-02-22 17:06:31

+0

我不認爲這是可能的。只有實際的請求知道上下文路徑是什麼。你需要設計你的方法,使它能夠訪問'request',或者可以將'request.getContextPath()'的值作爲「基本路徑」傳遞給該方法。 – 2012-02-22 17:09:14