2012-07-10 23 views
0

我的需求如下。我的應用程序基於Struts2框架並使用註釋插件。當我得到任何RunTimeException我需要調用我的自定義類的方法,它使用e.printStackTrace()方法打印錯誤堆棧。我如何在我的應用程序中配置這個類。我不想在每個動作中都使用try和catch塊。在Struts2中配置RunTimeException類

出現錯誤後,我想向用戶顯示error.jsp。但在我的Tomcat控制檯中,我想打印錯誤堆棧。請讓我知道是否有人有想法。

感謝 彼得

+0

你是否在開發中使用spring框架。 – 2012-07-10 08:11:44

回答

0

我不知道,因爲註釋我已經使用很有限,但它可以很容易使用的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" /> 

有關詳細信息請參閱exception-handling。我相信它可以很容易地轉換爲基於註解的解決方案,因爲註釋插件提供了可以在XML文件中完成的所有選項。