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>