81,092
社区成员
发帖
与我相关
我的任务
分享
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>带有AJAX校验功能的用户注册页面</title>
<style type="text/css">
input {
width: 200px
}
</style>
<s:head theme="ajax"/>
</head>
<body>
<!-- action = "register" -->
<s:form action="register" namespace="/chapter15" theme="ajax"
validate="true">
<s:textfield label="用户名" name="username" />
<s:password label="密码" name="password" />
<s:password label="重新输入密码" name="repassword" />
<s:textfield label="年龄" name="age" />
<s:textfield label="生日" name="birthday" />
<s:submit value="注册" cssStyle="width:50px" />
</s:form>
</body>
</html>
package chapter15.action;
import com.opensymphony.xwork2.*;
import java.util.*;
public class RegisterAction extends ActionSupport
{
private String username;
private String password;
private int age;
private Date birthday;
private String result;
// result属性的getter方法
public String getResult()
{
return result;
}
// result属性的setter方法
public void setResult(String result)
{
this.result = result;
}
// username属性的getter方法
public String getUsername()
{
return username;
}
// username属性的setter方法
public void setUsername(String username)
{
this.username = username;
}
// password属性的getter方法
public String getPassword()
{
return password;
}
// password属性的setter方法
public void setPassword(String password)
{
this.password = password;
}
// age属性的getter方法
public int getAge()
{
return age;
}
// age属性的setter方法
public void setAge(int age)
{
this.age = age;
}
// birthday属性的getter方法
public Date getBirthday()
{
return birthday;
}
// birthday属性的setter方法
public void setBirthday(Date birthday)
{
this.birthday = birthday;
}
public String execute() throws Exception
{
setResult("注册成功!");
return SUCCESS;
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<message>用户名必须输入</message>
</field-validator>
<field-validator type="stringlength" short-circuit="true">
<param name="minLength">4</param>
<param name="maxLength">20</param>
<param name="trim">true</param>
<message>abcdefg</message>
</field-validator>
<field-validator type="regex">
<param name="expression"><![CDATA[(^\w*$)]]></param>
<param name="trim">true</param>
<message>用户名必须是字母和数字!</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<message>密码必须输入</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">8</param>
<param name="maxLength">30</param>
<param name="trim">true</param>
<message>密码的长度必须介于8和30之间!</message>
</field-validator>
</field>
<field name="age">
<field-validator type="int">
<param name="min">1</param>
<param name="max">200</param>
<message>您必须输入一个有效的年龄!</message>
</field-validator>
</field>
<field name="birthday">
<field-validator type="requiredstring" >
<message>出生日期必须输入</message>
</field-validator>
<field-validator type="date">
<param name="min">1900-1-1</param>
<param name="max">2020-1-1</param>
<message>出生日期必须在 ${min}和${max}之间!</message>
</field-validator>
</field>
</validators>
<?xml version="1.0" encoding="UTF-8" ?>
<!-- 指定Struts 2配置文件的DTD信息 -->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="chapter15" namespace="/chapter15"
extends="json-default">
<action name="register"
class="chapter15.action.RegisterAction">
<result name="success">/chapter15/success.jsp</result>
<result name="input">/chapter15/input.jsp</result>
</action>
</package>
</struts>