2013-09-05 15 views
0

如何製作將圖片引入我的根目錄應用的絕對網址?製作絕對網址引用本地圖片

我試過這個使用/projetForum/WebContent/images/angry.gif作爲URL,但它不起作用。

str = str.replace(":D", "<img src=\"/projetForum/WebContent/images/angry.gif\" title=\"heureux\" alt=\"heureux\" />"); 

在此先感謝。

+1

':D'生氣怎麼樣?無論如何,請以開發者的角度而不是最終用戶的角度闡述「不起作用」。你到底如何將HTML顯示給最終用戶?瀏覽器是否下載了圖像(檢查HTTP網絡監視器)?如果您確信網址是正確的(例如,將該URL直接粘貼到瀏覽器的地址欄中時,它可以正常工作),那麼可能的原因是該字符串值僅僅是HTML轉義的。 JSF將其作爲內建預防XSS攻擊的一部分。 – BalusC

+0

@BalusC,這只是一個例子,這個str將被放置到一個JSP中。瀏覽器尚未找到目標圖片。 –

+0

換句話說,瀏覽器檢索到一個HTTP 404錯誤響應?那麼,這隻意味着URL是錯誤的。當您嘗試通過自己在瀏覽器地址欄中輸入其網址來手動下載圖像時,瀏覽器地址欄中的完整網址是什麼?一旦我們知道了,那麼我們應該能夠在HTML代碼中完全替換該URL。 – BalusC

回答

1

當您仔細觀察您嘗試使用的URL時,/WebContent文件夾的存在是可疑的。這可以識別爲典型Eclipse Web項目的默認Web內容文件夾名稱。這反過來表明您實際上使用了相對於<img src>中的IDE工作空間根文件夾的本地磁盤文件系統路徑,並以某種方式期望它代表有效的URL。

這是錯誤的。這是網頁瀏覽器在解析獲得的HTML輸出時遇到<img>元素後必須通過有效的URL下載圖像。它是而不是這個網絡服務器必須根據本地磁盤文件系統路徑神奇地嵌入圖像的內容。這不是HTML的工作原理。

假設webapp的上下文根是projectForum(因此整個webapp在http://localhost:8080/projectForum/上可用),那麼應該在以下URL http://localhost:8080/projectForum/images/angry.gif上提供該圖像。首先在瀏覽器的地址欄中嘗試它。

<img src="/projectForum/images/angry.gif" /> 

順便說一句,在笑臉:

一旦你找到了正確的URL,那麼你應該在圖片的網址,以便生成的HTML輸出結束了這樣的替換正是絕對/相對路徑:D對我來說不像是生氣。