我正在尝试为struts 2项目配置全局错误页面。到目前为止,我已经完成了以下工作:
<global-results>
<result name="Exception">/jsp/common/errorPage.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="java.lang.Throwable" result="Exception" />
</global-exception-mappings>
在我的web.xml中:
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/jsp/common/errorPage.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/jsp/common/errorPage.jsp</location>
</error-page>
Struts处理所有/ *请求。当我故意试图去一个未映射的位置时,我得到错误堆栈跟踪说明
没有映射名称空间/操作名称的Action checkErrorPage。 - [未知位置]
当我在映射操作中抛出错误时,我再次获得堆栈跟踪而不是错误页面。我正在重新抛出网络上其他解决方案中建议的错误,但它仍然没有重定向到错误页面。
我做错了什么?
由于
答案 0 :(得分:2)
您的配置适用于测试项目。请指出您使用的Struts2版本。此外,如果struts.devMode
设置为true,那么这将解释为什么您的自定义页面未用于404响应。启用开发模式后,Struts 2将使用内置错误页面替换404响应,该错误页面会尝试为您提供调试的详细信息。
请注意,您的自定义错误页面仍应用于从您的操作中抛出的异常。