异常处理框架

Struts2中的异常处理框架

因为在Action中默认的就把异常给抛了,所以Struts中都会有异常处理机制的

  • 在Maven中的Exception中新建一个Exception处理类继承Exception

    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class SysException extends Exception {
        private String message;
        public String getMessage() {
            return message;
        }
        public SysException(String message){
            this.message = message;
        }
    }
  • 把需要的图片扔到web中

  • 在Struts中配置配置文件,配置全局结果视图的时候,会跳到自己写的错误页面上,可以配置多个跳转的页面,创建多个异常,每个异常跳的都不一样实现不同的结果。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <!-- 全局结果视图 -->
    <global-results>
        //图片的地址
        <result name="error">/WEB-INF/pages/error.jsp</result>
    </global-results>
    <!-- 异常处理框架 -->
    <global-exception-mappings>
        //抛出在页面上的异常
        <exception-mapping result="error" exception="com.zc.bp.exception.SysException"></exception-mapping>
        //如果一个一个配比较繁琐,可以用Exception类
        <exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>
    </global-exception-mappings>
  • 注意要想用struts中的东西struts-sysadmin中的包要相同所以,他里面的包继承struts的包。

  • 这样在页面就会显示异常提示跟图片了
  • 也可以自定义中文提示,就是在抛异常的时候在try一下,然后自定义抛出一个异常,new 自定义的异常类
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public String toview() throws Exception {
      try {
        //1.调用业务方法,加载部门对象
        Role obj = roleService.get(Role.class, model.getId());
        //2.将对象放入值栈中
        super.push(obj);
      } catch (Exception e) {
        e.printStackTrace();
        throw new SysException("你有病 ,要先选中,再查看!");
      }
      //3.跳页面
      return "toview";
    }
张冲 wechat
欢迎扫一扫上面的微信关注我,一起交流!
坚持原创技术分享,您的支持将鼓励我继续创,点击打赏!