![](/img/trans.png)
[英]Working with errorPage directive with Servlet Filters in Java/JSP
[英]Overwriting the errorPage property in JSP
我已經在所有JSP文件包含的標頭中定義了<%@ page errorPage="/error.jsp" %>
,以捕獲任何未處理的異常並重定向到該錯誤頁面,而不是打印它們。 需要注意的是,這很好用-如果error.jsp本身拋出異常,它將在無限循環中不斷重定向到自身。 我只想刪除error.jsp的errorPage值,以便它像往常一樣打印異常。 我嘗試只是將errorPage屬性重新定義為空白,但出現以下錯誤:
Page指令:非法出現具有不同值的errorPage多次出現(舊:/error.jsp,新:)
我有什么辦法可以覆蓋該屬性? 或關於如何預防此問題的其他建議?
具有相同屬性的多個page
聲明確實是非法的。 您的選擇是:
您為什么不對錯誤頁面使用另一個頭文件卻本身不包含它呢?
因此,與其具有:
header.jsp
==========
a
b
c
errorPage=error.jsp
你可以有:
commonHeader.jsp
===========
a
b
c
沒有errorPage指令
並修改標題以包括新的標題。
header.jsp
===========
include=commonHeader.jsp
errorPage=error.jsp
這樣一來,您無需在其余的jsp文件中進行任何更改
您只需要從以下位置更改errorPage:
include="header.jsp"
至
include="commonHeader.jsp"
而且errorPage不會再有錯誤頁面....
最后,我只是通過在頁面周圍用<c:catch>標記來避免該重定向,並打印一條准系統消息(例外情況)以確保它不會中斷,來解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.