2014-03-03 98 views
0

反正是有檢查,如果需要的資源可用與否JSTL檢查資源可用與否

我的代碼

<img id="photo" src="http://localhost:8081/test.png" /> 

現在假設我的形象的名字是test.png

現在

什麼,我想do是檢查是否可用http://localhost:8081/test.png

例如<c:if test="${resource}">

如果不可用,我想把default.png作爲http://localhost:8081/default.png在src中,這是我可以確定的。

,如果它是可用的,那麼我將會把SRC值http://localhost:8081/test.png

如何做到這一點?

+1

這並不像聽起來那麼容易,因爲基本上你所要求的是,如果Web服務器在物理上是能夠通過HTTP請求提供圖像。 – Gimby

+0

是的。這是不可能的? – LynAs

+0

那麼圖像存儲在哪裏?如果它們位於服務器上的某個目錄中,則可以使用簡單的File對象來檢查是否存在圖像。如果它們是部署的WAR或EAR的一部分,我會看看是否有客戶端/ JavaScript方法來代替它。 – Gimby

回答

0

您可以使用此answer的以下代碼。請注意,這不是問題中提到的基於JSTL的解決方案。

function imageExists(image_url){ 

    var http = new XMLHttpRequest(); 

    http.open('HEAD', image_url, false); 
    http.send(); 

    return http.status != 404; 

} 
0

我想你應該開發自己的自定義標籤,它返回一個圖片或其他依賴於第一的availavility。

您應該使用兩個參數:一個用於可用或不可用的圖像,另一個用於「默認」圖像。

這裏有一個很好的介紹。

http://www.tutorialspoint.com/jsp/jsp_custom_tags.htm