Struts2 global-results(全局结果)+异常映射 Results结果类型

来源:互联网 发布:手机电流测试软件 编辑:程序博客网 时间:2024/04/28 02:07

global-results+异常映射,实现,报错,跳转指定页面

在Action中execute方法的方法签名为public String execute() throws Exception,这样,Action可以抛出任何Exception,那么,Exception抛给谁呢?

  • 实验
public String execute() throws Exception {          int a = 5/0;          return this.SUCCESS;  }   上面的代码中有int a=5/0;,很显然,会抛出除数为0的错误,这个错误是RuntimeException,我们的程序没有进行相应的例外处理,则会抛给Struts2去处理。可见,这个错误直接被抛给了web容器,Struts2并没有处理。那么,在实际的项目中很显然不能这么简单而粗暴的处理错误,一种简单的处理方法就是跳转到一个错误处理页面。

使用异常机制

<package name="sd" extends="struts-default" namespace="/">     <global-results>        <result name="error">error.jsp</result>      </global-results>      <!-- 异常映射 -->     <global-exception-mappings>     <!--result 映射对应的值,通过它来,决定调取那个 全局结果,exception 被抓取的报错类型 -->       <exception-mapping result="error" exception="java.lang.Exception"/>       </global-exception-mappings>      <action name="struts_test" class="com.struts.one.test.Struts_Test_One" >         <!-- action  执行方法 返回结果, 返回的字符串,然后匹配对应的返回结果 -->         <result name="math-exception">succeed.jsp</result>      </action></package>