Struts2全局错误页面和局部错误页面

版权声明:本文为博主原创文章,版权归原作者小思所有,转载或者引用本文内容请注明来源及原作者,https://blog.csdn.net/zeal9s/ https://blog.csdn.net/zeal9s/article/details/81429722

1.这是我的项目的结构图(全局错误页面的配置),仅供参考
项目的结构图
2.TestAction:测试报错

package com.zs.action;

import com.opensymphony.xwork2.ActionSupport;

public class TestAction extends ActionSupport{
    public String test() {
        //绝对会报错
        System.out.println(1/0);
        return SUCCESS;
    }

}

3.global.xml:配置全局错误的xml

<?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="com.zs"  namespace="/" extends="struts-default" >
        <!-- 全局默认首先启动的action> -->
        <default-action-ref name="TestAction"></default-action-ref>
        <!--全局的结果页面 -->
        <global-results>
            <result name="global_error">/global_error.jsp</result>
        </global-results>
        <!--全局的异常处理 -->
        <global-exception-mappings>
            <exception-mapping result="global_error"
                exception="java.lang.Exception"></exception-mapping>
        </global-exception-mappings>
    </package>


</struts>

4.zs.xml:配置自己的Action类

<?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="default" namespace="/" extends="com.zs">
       <action name="TestAction" class="com.zs.action.TestAction" method="test">
         <result>/success.jsp</result>
       </action>
    </package>

</struts>

5.global_error.jsp:报错自动条到的页面

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>全局变量:错误页面</title>
</head>
<body>
不好意思,服务器开小差了。。。
</body>
</html>

6.success.jsp:成功之后跳转的页面

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
成功!
</body>
</html>

7这是我的项目的结构图(局部错误页面的配置),仅供参考
其他页面和上面的一样,以下页面的改动
这里写图片描述
error.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
TestAction报错了
</body>
</html>

zs.xml

<?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="default" namespace="/" extends="com.zs">
       <action name="TestAction" class="com.zs.action.TestAction" method="test">
         <result>/success.jsp</result>
         <!--局部错误页面配置,如果该Action配置了局部错误页面,那么全局对于它无效  -->
         <result name="error">/error.jsp</result>
         <exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>
       </action>
    </package>

</struts>

**注意事项:注意package和继承的package的名字
如果该Action配置了局部错误页面,那么全局错误页面对于它无效
**

说在最后的话:编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~

猜你喜欢

转载自blog.csdn.net/zeal9s/article/details/81429722
今日推荐