您的位置:首页 > 编程语言 > Java开发

Struts2的异常配置

2018-01-10 00:00 204 查看
Struts2异常处理方式有两种;一种为全局异常映射,另外一种即为局部异常映射。

一、定义全局异常

在struts.xml文件中配置全局异常,通过<global-exception-mappings>标签下的<exception-mapping>进行配置;

<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指定捕捉异常类型,也可以自定义异常;

二、定义局部异常

局部异常即用于捕获在具体哪个<action>中的异常,同样是通过<exception-mapping>来定义;通过exception来捕获对应的异常,result返回对应的异常页面;struts捕获异常时,先会在对应的<action>下找对应的局部异常,若同时存在该全局异常,会优先使用局部异常。result返回的页面也可以使用全局<global-result>下定义的映射页面。

<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>


三、输出异常信息

在处理异常页面中使用:

<s:property value="exception"/> <!--输出异常对象本身-->
<s:property value="exceptionStack"/> <!--输出异常堆栈信息-->

小技巧:在JSP页面中可以使用<s:debug/>进行调试,可以查看Value Stack和Stack Context对象;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息