Struts2全局异常 - 原始异常源

时间:2015-08-10 12:53:37

标签: java configuration exception-handling struts2 stack-trace

我在Struts 2中使用全局异常映射,如下所示:

19.3%

流程是完美的,但我想知道如何获取抛出异常的Action(以及希望方法)。

<global-exception-mappings> <exception-mapping exception="java.lang.Exception" result="exception" /> </global-exception-mappings> <!-- ******* ACTIONS ****** --> <action name="timeout" class="errorAction"> <interceptor-ref name="carsBasic" /> <interceptor-ref name="defaultStack" /> <result name="input">/WEB-INF/jsp/index.jsp</result> </action> 动作类中,执行方法,它正确地添加了timeOut表示“错误”,但在这里我想添加记录/通过电子邮件发送给我的代码以显示违规的阶级和方法。

这是存储在某个地方,我该如何访问它?

1 个答案:

答案 0 :(得分:1)

要记录异常,您需要使用log4j之类的记录器。可以配置允许发送电子邮件的一些appender。

exception拦截器发生异常并处理异常时,它会将值存储到值堆栈中。值存储在:

  
      
  • exception:异常对象本身
  •   
  • exceptionStack:堆栈跟踪中的值
  •   

您可以配置将处理异常的操作,并记录从值堆栈中检索它们的这些值,并配置在处理异常时执行的全局结果。此结果可以是chain类型,其中上一个操作的值位于下一个操作的值堆栈中。

<global-results>
    <result name="exception" type="chain">ExceptionAction</result>
</global-results>