zoukankan      html  css  js  c++  java
  • Struts08---全局结果和全局异常的配置

    01.创建测试页面

    <%--  验证全局结果 和 局部结果 --%>
    <a href="user/UserAction_add">新增用户</a>
    <a href="user/UserAction_update">修改用户</a>

    02.修改struts.xml文件, include 外部引入文件

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    <struts>
    
    <!--设置开发模式  -->
     <constant name="struts.devMode" value="true"/>
        <package name="default"  namespace="/" extends="struts-default">
        </package>
        <!-- 引入外部的xml文件  -->
        <include file="user.xml"/>
    </struts>
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    <struts>
     
        <package name="user"  namespace="/user" extends="default">
        <!-- 省略了 action节点中 所有的class属性值! 默认执行的类!-->
          <default-class-ref class="cn.bdqn.action.UserAction"/>
          
        <!--全局结果配置   页面的配置   后续可以配置在struts.xml文件中-->
          <global-results>
             <result name="error">/error.jsp</result>
             <result name="input">/input.jsp</result>
          </global-results>
          
        <!-- 全局异常结果 后续可以配置在struts.xml文件中-->
    
     <global-exception-mappings>
    
     <exception-mapping result="error" exception="java.sql.SQLException"/> 
    
    </global-exception-mappings>
    
     <!--通配符的使用 --> 
    
    <action name="*_*" method="{2}"> 
    
    <result>/success.jsp</result> 
    
    <!-- 后台出现异常 我们指定错误界面! 方法多了 ,难道每个action界面下 都要配置error页面吗? <result name="error">/error.jsp</result>--> <!-- 局部异常结果 result的属性值 对应的就是 error <exception-mapping result="error" exception="java.sql.SQLException"/> -->
    
     </action> 
    
    </package>
    
     </struts>

    03.创建Action

    public class UserAction extends ActionSupport{
    
        
        
        
        public  String add(){
            System.out.println("进入了add()");
            if (1==1) {
                try {
                    throw new SQLException();  //模拟出现异常
                } catch (SQLException e) {
                    return ERROR;
                }
            }
            return  SUCCESS;
        }
        public  String update(){
            System.out.println("进入了update()");
            if (1==1) {
                try {
                    throw new SQLException();  //模拟出现异常
                } catch (SQLException e) {
                    return INPUT;
                }
            }
            return  SUCCESS;
        }
    
        
    }

    04.创建错误界面  省略!!

      <body>
       全局的错误界面!
      </body>
  • 相关阅读:
    一款纯css3实现的翻转按钮
    一款基于jquery实现的鼠标单击出现水波特效
    一款由html5 canvas实现五彩小圆圈背景特效
    一款由css3和jquery实现的卡面折叠式菜单
    一款jquery实现的整屏切换特效
    联想笔记本Win10 F1-F12失效的解决方法
    Android笔记:如何在Fragment里使用findViewById()方法?
    java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
    Call requires API level 21(Current min is 16)
    Android笔记:DrawerLayout抽屉布局的使用
  • 原文地址:https://www.cnblogs.com/xtdxs/p/7097500.html
Copyright © 2011-2022 走看看