现在的位置: 首页 > 综合 > 正文

struts2异常处理

2013年08月07日 ⁄ 综合 ⁄ 共 1872字 ⁄ 字号 评论关闭

 在struts2中提供了一些常用的拦截器,其中就包括对异常处理的拦截器,我们直接声明使用即可,下面来看个例子。

struts.xml

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <!-- 对默认拦截器的引入 -->
    <include file="struts-default.xml" />

    <package name="eticket" extends="struts-default">
        <!-- 全局异常映射 -->
        <global-exception-mappings>
            <exception-mapping result="error" exception="java.lang.Exception">    
            </exception-mapping>
        </global-exception-mappings>
        <action name="airTicketAction" class="AirTicketAction">
            <result>airticket/airticket.jsp</result>
            <result name="detail">airticket/airticketdetail.jsp</result>
            <result name="order">airticket/airticketorder.jsp</result>
            <result name="error">error.jsp</result>
            <!-- 局部异常映射 -->
            <exception-mapping result="nullPoint" exception="java.lang.NullPointerException"></exception-mapping>   
            <result name="nullPoint">error.jsp</result>   

        </action>
    </package>
</struts>
下面是一个action,产生一个异常,用于测试

AirTicketAction.java

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class AirTicketAction extends ActionSupport {

    @Override
    public String execute() throws Exception {
        // TODO 自动生成方法存根
        //产生一个除数为0的异常
        int i = 1/0;
        return SUCCESS;
    }
}
用于显示的jsp页面

error.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><s:text name="login.title"></s:text></title>
</head>
<body>
<h1>出错了!</h1>
<s:property value="exception.message" />
<s:property value="exceptionStack" />
</body>
</html>
很简单,配置完成可以使用了。

文章出处:http://www.diybl.com/course/3_program/java/javajs/2008827/137748_2.html

抱歉!评论已关闭.