首页 > 其他 > 详细

struts2开发10--struts2异常处理机制

时间:2016-04-27 02:10:33      阅读:239      评论:0      收藏:0      [点我收藏+]

在传统的异常处理方式中,开发者一般需要编写大量的try-catch块来处理异常,而在struts2中,提供了一种声明式的异常处理方式,通过配置拦截器来实现异常处理。下面以要求的年龄不能为空和只能为数字来说明struts2中的异常处理,当用户输入的年龄为空或者不为数字时,则拦截异常,并在页面中提示用户异常信息,具体步骤如下

第一步:创建ExceptionTestAction,其代码如下:

package cn.test.action;

import java.util.regex.Pattern;

import com.opensymphony.xwork2.ActionSupport;

public class ExceptionTestAction extends ActionSupport{
?private String age;

?public String execute() throws Exception
?{
??Pattern pattern=Pattern.compile("[0-9]*");
??if(!pattern.matcher(age).matches())
??{
???throw new Exception("年龄必须为数字");
??}
??
??if(age.length()==0)
??{
???throw new Exception("年龄不能为空");
?}
??return "success";
?}
?public String getAge() {
??return age;
?}

?public void setAge(String age) {
??this.age = age;
?}
}
第二步,创建输入页面ExceptionTest.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib? prefix="s" uri="/struts-tags" %>

<font color="red"><s:property value="exception.message"/></font><!--显示异常信息-->
<s:form action="Exception.action">
<s:textfield name="age" label="年龄"></s:textfield>
<s:submit value="提交"></s:submit>
</s:form>

第三步,创建成功Esuccess.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s"? uri="/struts-tags" %>
<s:property value="age"/>

第四步,配置struts.xml文件

<action name="Exception" class="cn.test.action.ExceptionTestAction" method="execute">

????????????????????????????? <!--配置局部异常映射-->

???????????????? <!--exception用来指定出现异常的类型-->

??????????????? <!--result用来指定struts2返回给用户的视图-->
??????? <exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>
??????? <result name="error">/WEB-INF/jsp/ExceptionTest.jsp</result>
??????? <result name="success">/WEB-INF/jsp/Esuccess.jsp</result>
??????? </action>

完成,部署项目,如果在年龄的输入框中不输入数字,则会在页面上显示“年龄必须为数字”,如果不输入,则会显示“年龄不能为空”。

struts2开发10--struts2异常处理机制

原文:http://673390302.iteye.com/blog/2293786

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!