![](/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.