4
我想使用c:import或c:url來獲取頁面內容(adserver)。另外,我需要指定超時時間,如果調用超時或頁面不可訪問,我需要一些默認文本作爲我的值返回。c:import或c:url - 指定超時值
是否有一個jstl標籤庫來做到這一點?或者我需要創建自己的?
我想使用c:import或c:url來獲取頁面內容(adserver)。另外,我需要指定超時時間,如果調用超時或頁面不可訪問,我需要一些默認文本作爲我的值返回。c:import或c:url - 指定超時值
是否有一個jstl標籤庫來做到這一點?或者我需要創建自己的?
種。
c:import打開一個套接字到服務器,並簡單地返回連接所做的事情(在你的情況下是原始html)。如果服務器返回的頁面是一個404,那麼這將顯示,一個500然後你得到的錯誤頁面。
因爲它是一個套接字,所以它可以訪問所有的套接字錯誤。 對於超時:
java.net.ConnectException: Operation timed out
未知主機:
java.net.UnknownHostException: www.googasdasdasdassdle.com
這意味着,你可以用你的進口在catch語句和處理那裏的頁面上。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:catch var="socketExceptionVariable">
<c:import url="www.googasdasdasdassdle.com"/>
</c:catch>
<c:if test="${socketExceptionVariable != null}">
<p>There was an error here</p>
<c:out value="${socketExceptionVariable}"/>
</c:if>
如果導入發生那麼它按預期工作,但如果有什麼(什麼)出現問題,則顯示你的錯誤頁面。
您可以編寫自己的導入標籤,但是封裝了這個標籤,但與此解決方案相比,它的工作量相當大。
PS你可能想修復你的標籤jstltimeout是兩個實際的單詞。 – Hyposaurus 2009-02-25 02:43:28