Struts2的異常配置

        Struts2異常處理方式有兩種;一種爲全局異常映射,另一種即爲局部異常映射。html

    1、定義全局異常

    在struts.xml文件中配置全局異常,經過<global-exception-mappings>標籤下的<exception-mapping>進行配置;java

<package name="commonStack" extends="struts-default">
 <global-results>
     <!--通resule的name來映射對應的頁面-->
     <result name="error">/jsp/common/error.jsp</result>
 <global-results>
 <global-exception-mappings>
     <!--經過exception定義捕捉的異常類型,result返回對應的映射頁面-->
	 <exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>
 </global-exception-mappings>
</package>

    <global-result>下指定全局的視圖映射,<exception-mapping>中的exception指定捕捉異常類型,也能夠自定義異常;app

    2、定義局部異常

    局部異常即用於捕獲在具體哪一個<action>中的異常,一樣是經過<exception-mapping>來定義;經過exception來捕獲對應的異常,result返回對應的異常頁面;struts捕獲異常時,先會在對應的<action>下找對應的局部異常,若同時存在該全局異常,會優先使用局部異常。result返回的頁面也能夠使用全局<global-result>下定義的映射頁面。jsp

<package name="exceptionTest" extends="commonStack" namespace="/exceptionTest">
   <action name="qry" class="com.shcredit.controller.appkind.QryAction">
        <exception-mapping  exception="com.shcredit.controller.exception.MyException" result="error">
				</exception-mapping>
		<result name="error">/jsp/common/resubmit.jsp</result>
   </action>
</package>

    3、輸出異常信息

    在處理異常頁面中使用:spa

<s:property value="exception"/> <!--輸出異常對象自己-->
<s:property value="exceptionStack"/> <!--輸出異常堆棧信息-->

    小技巧:在JSP頁面中能夠使用<s:debug/>進行調試,能夠查看Value Stack和Stack  Context對象;debug

相關文章
相關標籤/搜索