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>
原文地址:https://www.cnblogs.com/xtdxs/p/7097500.html