如何在Struts中重定向NullPointerExceptions?

时间:2009-04-02 01:31:00

标签: java java-ee struts

有没有办法将所有NullPointerExceptions重定向到一个漂亮的jsp页面,也许在Struts中?

提前致谢!

2 个答案:

答案 0 :(得分:4)

有一个struts-config.xml配置允许您定义例外hanbler:

  <global-exceptions>
    <exception handler="br.com.nostrum.radiomanager.exception.RadioManagerExceptionHandler" key="exception" type="java.lang.Exception" />
  </global-exceptions>

这里我们捕获了java.lang.Exception及其后代,但您可以更改为NullPointerException。处理程序应该扩展org.apache.struts.action.ExceptionHandler并通过mapping.findForward(如@Kevin Crowell所说)或你选择的其他方法转发。

希望有所帮助。

答案 1 :(得分:1)

有一个请求范围的EXCEPTION对象,它将包含异常。参见:

http://struts.apache.org/1.x/struts-core/apidocs/constant-values.html

和以下密钥:

org.apache.struts.action.EXCEPTION

然后有各种方法可以在JSP中打印出来,例如使用Struts bean标记:

<logic:equal name="org.apache.struts.action.EXCEPTION" value="java.lang.NullPointerException" scope="request">
  <bean:write property="org.apache.struts.action.EXCEPTION"/>
</logic:equal>

然而,这是所有Struts 1.x。我敢肯定Struts 2有类似的方式。