如何在找不到请求的页面或方法时定义全局页面?

时间:2013-08-29 06:46:05

标签: java exception-handling struts2 global struts-config

我知道如果在struts.xml的父包中添加以下配置时遇到异常,如何在我们定义的包中完善全局错误重定向页面:

<global-results>
    <result name="error">/error.jsp</result>
</global-results>

<global-exception-mappings>
    <exception-mapping exception="java.lang.Exception" result="error" />
</global-exception-mappings>

但似乎无法捕获那些异常,如请求的资源,方法,找不到页面,我的意思是如何捕获struts2级错误,然后我可以做一些事情来处理它。

2 个答案:

答案 0 :(得分:2)

您应该在struts.xml中定义未知的处理程序。当执行未知的操作,结果或方法时,框架将调用未知的处理程序。

<bean type="com.opensymphony.xwork2.UnknownHandler" name="handler" class="com.package.SomeUnknownHandler"/> 

该类应该实现UknownHandler接口来处理这些情况:

  • 当动作配置未知时
  • 无法找到操作和结果代码的结果
  • 无法找到操作方法时

答案 1 :(得分:0)

这里有些人详细介绍了如何使用UknownHandlerhttps://stackoverflow.com/a/27881698/3383543),享受。