[轉]Struts2的異常處理機制

Struts2採用聲明式的方法管理異常處理,因此我們無需在execute方法體內寫大量的try...catch...語句來捕獲異常,execute方法將產生的所有異常拋出,統一交由Struts2框架處理,我們只需在struts.xml文件中配置異常的映射機制,Struts2便能夠處理並轉入相應的視圖資源。

異常映射可分爲全局異常映射和局部異常映射,它和<result .../>的性質是一樣的。

配置代碼如下:



Xml代碼
<struts>
<package name="struts2" extends="struts-default">
<!-- 配置全局異常映射 -->
<global-exception-mappings>
<exception-mapping result="sql" exception="java.sql.SQLException"/>
</global-exception-mappings>
<action name="login" class="com.test.action.LoginAction">
<!-- 配置局部異常映射 -->
<exception-mapping result="myException" exception="com.test.exception.MyException"/>
<result name="success">result.jsp</result>
<result name="sql">error.jsp</result>
<result name="myException">error.jsp</result>
</action>
</package>
</struts>

<struts>
<package name="struts2" extends="struts-default">
<!-- 配置全局異常映射 -->
<global-exception-mappings>
<exception-mapping result="sql" exception="java.sql.SQLException"/>
</global-exception-mappings>
<action name="login" class="com.test.action.LoginAction">
<!-- 配置局部異常映射 -->
<exception-mapping result="myException" exception="com.test.exception.MyException"/>
<result name="success">result.jsp</result>
<result name="sql">error.jsp</result>
<result name="myException">error.jsp</result>
</action>
</package>
</struts>

爲了在異常處理頁面中顯示異常信息,我們可以使用<s:property/>標籤來輸出異常信息:



<s:property value="exception"/>:輸出異常信息本身

<s:property value="exceptionStack"/>:輸出異常堆棧信息
發佈了64 篇原創文章 · 獲贊 0 · 訪問量 2757
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章