读书人

Struts2 配置 错误映射

发布时间: 2012-08-30 09:55:54 作者: rapoo

Struts2 配置 异常映射
异常映射是处理Action类异常的一个有力工具,通过异常映射我们可以提供更加友好的用户界面,而不是一堆错误代码信息。Action方法抛出的异常能够被自动捕捉然后经过映射指向一个预定义好了的Result。声明式的策略对于抛出运行时异常的框架尤其有用。
和框架的很多其它部分一样,我们需要使用一个拦截器来启动异常映射功能。在struts-default.xml文件中已经为我们把这个拦截器准备好了,因此我们可以直接使用:
[b]

 <interceptors><interceptor name="exception" name="code"><global-exception-mappings>        <exception-mapping result="global"              exception="java.sql.SQLException"></exception-mapping>        <exception-mapping result="test"            exception="java.lang.Exception"></exception-mapping></global-exception-mappings>    <action name="exception"            class="tutorial.ExceptionAction">        <exception-mapping result="sql"             exception="java.sql.SQLException"></exception-mapping>       <exception-mapping result="all"            exception="java.lang.Exception"></exception-mapping>       <result name="sql">/exception.jsp</result>        <result name="global">/global.jsp</result>        <result name="test">/test.jsp</result>        <result name="all">/all.jsp</result></action> 
[/b]
上面是一个struts配置文件的片段,定义了两个全局异常映射和两个局部异常映射,我做了如下几个测试:
1.当Action类抛出SQLException时,局部映射起作用,页面转向exception.jsp
2.注释局部映射中的java.sql.SQLException,当Action类抛出SQLExceptiop时,全局映射起作用,页面转向global.jsp
这就说明异常拦截器首先会寻找与所抛出异常在遗传关系上最接近的异常,如果局部映射与全局映射同时有,那么使用局部映射

读书人网 >编程

热点推荐