1,Register.jsp,一个注册页面,包括用户名,密码,确认密码,年龄,生日,毕业时间这六个信息。
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<body>
<table align="center" width="40%">
<tr>
<td style="color:red"><s:fielderror></s:fielderror></td>
</tr>
</table>
<s:form action="register" theme="simple">
<table align="center" width="40%">
<tr>
<td>username:</td>
<td><s:textfield name="username"></s:textfield></td>
</tr>
<tr>
<td>password:</td>
<td><s:password name="password"></s:password></td>
</tr>
<tr>
<td>re-password:</td>
<td><s:password name="repassword"></s:password></td>
</tr>
<tr>
<td>age:</td>
<td><s:textfield name="age"></s:textfield></td>
</tr>
<tr>
<td>birthday:</td>
<td><s:textfield name="birthday"></s:textfield></td>
</tr>
<tr>
<td>graduation:</td>
<td><s:textfield name="graduation"></s:textfield></td>
</tr>
<tr>
<td><s:submit></s:submit></td>
<td><s:reset></s:reset></td>
</tr>
</table>
</s:form>
</body>
</html>
2,RegisterAction.java,在validate方法中进行输入校验
package com.test.action;
import java.sql.Date;
import java.util.Calendar;
import com.opensymphony.xwork2.ActionSupport;
public class RegisterAction extends ActionSupport {
private String username;
private String password;
private String repassword;
private int age;
private Date birthday;
private Date graduation;
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 String getRepassword() {
return repassword;
}
public void setRepassword(String repassword) {
this.repassword = repassword;
}
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 Date getGraduation() {
return graduation;
}
public void setGraduation(Date graduation) {
this.graduation = graduation;
}
public void validate() {
//年龄不能小于0
if(age < 0){
this.addFieldError("age", "your age is error");
}
//用户名不能为空
if(null == username || username.equals("")){
this.addFieldError("username", "please input your username");
}
//密码不能为空,且两次输入的密码必须相同
if(null == password || null == repassword || !password.equals(repassword)){
this.addFieldError("password", "your password is invalid");
}
//生日与毕业时间不能为空,且毕业时间不能早于生日
if(null != birthday && null != graduation){
Calendar c1 =Calendar.getInstance();
c1.setTime(birthday);
Calendar c2 =Calendar.getInstance();
c2.setTime(graduation);
if(c1.after(c2)){
this.addFieldError("birthday", "birthday should be before graduation");
}
}
}
}
3,struts.xml配置
<action name="register" class="com.test.action.RegisterAction"> <result name="success">/success.jsp</result> <result name="input">/register.jsp</result> </action>
4,输入成功后的显示页面
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<body>
<table align="center" width="40%">
<tr>
<td>username:</td>
<td>${requestScope.username}</td>
</tr>
<tr>
<td>password:</td>
<td>${requestScope.password}</td>
</tr>
<tr>
<td>age:</td>
<td>${requestScope.age}</td>
</tr>
<tr>
<td>birthday:</td>
<td>${requestScope.birthday} </td>
</tr>
<tr>
<td>graduation:</td>
<td>${requestScope.graduation} </td>
</tr>
<tr>
<td><input type="submit" name="submit"> </td>
<td><input type="reset" name="reset"> </td>
</tr>
</table>
</body>
</html>