0

我的要求如下。我的应用程序建立在 Struts2 框架上并使用注释插件。当我得到任何RunTimeException我需要调用自定义类的方法时,该方法使用e.printStackTrace()方法打印错误堆栈。如何在我的应用程序中配置此类。我不想在我拥有的每一个动作中都使用 try 和 catch 块。

收到错误后,我想向error.jsp用户显示。但在我的 tomcat 控制台中,我想打印错误堆栈。如果有人有想法,请告诉我。

谢谢彼得

4

1 回答 1

0

我不确定注释,因为我使用它非常有限,但是可以在 .xml 的帮助下使用 struts.xml 文件轻松完成ExceptionMappingInterceptor

您需要为此定义自定义堆栈并向 xml 文件添加一些参数以让 S2 处理未捕获的异常并同时将其记录在日志文件/控制台中

<interceptors>
  <interceptor-stack name="appDefaultStack">
    <interceptor-ref name="defaultStack">
     <param name="exception.logEnabled">true</param>
     <param name="exception.logLevel">ERROR</param>
    </interceptor-ref>
 </interceptor-stack>
</interceptors>

<default-interceptor-ref name="appDefaultStack" />

有关更多详细信息,请参阅异常处理。我相信它可以很容易地转换为基于注释的解决方案,因为注释插件提供了可以在 XML 文件中完成的所有选项。

于 2012-07-11T11:06:47.110 回答