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

阅读更多

在传统的异常处理方式中,开发者一般需要编写大量的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" %>





第三步,创建成功Esuccess.jsp

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

第四步,配置struts.xml文件

                             

                

               
       
        /WEB-INF/jsp/ExceptionTest.jsp
        /WEB-INF/jsp/Esuccess.jsp
       

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

你可能感兴趣的:(struts2,异常处理)