(Struts2学习篇)Struts2数据校验-validate()方法实现

不点 阅读:617 2021-04-01 10:26:28 评论:0

第一步:编写相关Action

public class RegisterAction extends ActionSupport { 
 
	/** 
	 *  
	 */ 
	private static final long serialVersionUID = 1L; 
	// 相关参数封装 
	// 用户名 
	private String username; 
	// 密码 
	private String password; 
	// 年龄 
	private int age; 
	// 生日 
	private Date birthday; 
	// 相关处理结果 
	private String result; 
 
	public String getUsername() { 
		return username; 
	} 
 
	public void setUsername(String username) { 
		this.username = username; 
	} 
 
	public String getPassword() { 
		return password; 
	} 
 
	public void setPassword(String password) { 
		this.password = password; 
	} 
 
	public int getAge() { 
		return age; 
	} 
 
	public void setAge(int age) { 
		this.age = age; 
	} 
 
	public Date getBirthday() { 
		return birthday; 
	} 
 
	public void setBirthday(Date birthday) { 
		this.birthday = birthday; 
	} 
 
	public String getResult() { 
		return result; 
	} 
 
	public void setResult(String result) { 
		this.result = result; 
	} 
 
	// struts2的validate()方法校验相关数据信息 
	@Override 
	public void validate() { 
		// TODO Auto-generated method stub 
		// 校验用户名 
		if (username == null || username.equals("") || username.length() < 4 
				|| username.length() > 20) { 
			addFieldError("username", "用户名必须是字母和数字,且长度必须介于4和20之间"); 
		} 
		// 校验密码 
		if (password == null || password.equals("") || password.length() < 6 
				|| password.length() > 20) { 
			addFieldError("password", "密码的长度必须介于6和20之间"); 
 
		} 
		// 校验年龄 
		if (age <= 0 && age <= 200) { 
			addFieldError("age", "你必须输入一个有效的年龄"); 
		} 
		// 校验出生日期 
		if (birthday == null) { 
			addFieldError("birthday", "出生日期必须输入"); 
		} else { 
			// 设置日期最大 
			Calendar endDate = Calendar.getInstance(); 
			// 设置日期最小 
			Calendar startDate = Calendar.getInstance(); 
			startDate.set(1900, 1, 1); 
			if (birthday.after(endDate.getTime()) 
					|| birthday.before(startDate.getTime())) { 
				addFieldError("birthday", "出生日期必须在一个有效范围内"); 
			} 
 
		} 
 
	} 
 
	// struts2 的 execute() 方法 
	@Override 
	public String execute() throws Exception { 
		// TODO Auto-generated method stub 
		setResult("注册成功"); 
		return SUCCESS; 
	} 
 
}


第二步:配置struts2.xml文件

	<!--struts2 validate()校验数据  --> 
	<action name="register" class="com.rf.action.RegisterAction"> 
	<result name="success">/error.jsp</result> 
	<!--配置 input结果  --> 
	<result name="input">/login.jsp</result> 
	</action> 
	</package>


第三步:编写相关页面文件

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 
<%@taglib prefix="s" uri="/struts-tags"%> 
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
  <head>     
    <title>struts2数据校验</title> 
   <!-- 
	<link rel="stylesheet" type="text/css" href="styles.css"> 
	--> 
  </head>   
  <body> 
 	   <!--struts2 数据校验  --> 
 	   <s:form action="register"> 
 	   <s:textfield name="username" key="用户名"/> 
 	    <s:textfield name="password" key="密码"/> 
 	    <s:textfield name="age" key="年龄" /> 
 	    <s:textfield name="birthday" key="生日"/> 
 	    <s:submit  value="注册"/> 
 	   </s:form> 
  </body> 
</html>


第四步:结果页面

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 
<%@taglib prefix="s" uri="/struts-tags"%> 
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
  <head>     
    <title>上传文件结果</title> 
   <!-- 
	<link rel="stylesheet" type="text/css" href="styles.css"> 
	--> 
  </head>   
  <body> 
 	 文件上传结果: 
       <s:property value="result"/><br> 
  </body> 
</html> 


结果显示:

结果:

标签:Struts2
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号