结果:
登录界面:
<body>
<s:form action = "login.action" method = "post" validate="true">
<s:textfield name = "user.username" label = "用户名"/>
<s:password name = "user.password" label = "密码"/>
<s:textfield name = "user.age" label = "年龄"/>
<s:textfield name = "user.tel" label = "电话"/>
<s:textfield name = "user.birthday" label = "生日"/>
<s:submit value = "提交"/>
</s:form>
</body>
Action:
package com.action;
import com.bean.User;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport{
private User user;
public String execute() {
return SUCCESS;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
struts.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<package name="default" namespace = "/" extends = "struts-default">
<action name = "login" class = "com.action.LoginAction">
<result>/ok.jsp</result>
<result name = "input">/login.jsp</result>
</action>
</package>
</struts>
校验器LoginAction.validation.xml配置:放在与Action类同一目录下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.3//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
<validators>
<field name = "user.username">
<field-validator type = "requiredstring">
<param name = "doTrim">true</param>
<message>请输入姓名</message>
</field-validator>
<field-validator type = "regex">
<param name = "expression"><![CDATA[(\w{4,20})]]></param>
<message>您输入的姓名只能是字母和数字,且长度在4到20之间</message>
</field-validator>
</field>
<field name = "user.password">
<field-validator type = "requiredstring">
<param name = "doTrim">true</param>
<message>请输入密码</message>
</field-validator>
<field-validator type = "regex">
<param name = "expression"><![CDATA[(\w{6})]]></param>
<message>您输入的姓名只能是字母和数字,且长度为6</message>
</field-validator>
</field>
<field name = "user.tel">
<field-validator type = "requiredstring">
<param name = "doTrim">true</param>
<message>请输入电话号码</message>
</field-validator>
<field-validator type = "regex">
<param name = "expression"><![CDATA[(^1[3578]\d{9}$)]]></param>
<message>您输入的格式不正确</message>
</field-validator>
</field>
<field name = "user.age">
<field-validator type = "int">
<param name = "min">1</param>
<param name = "max">100</param>
<message>请输入您的真实年龄</message>
</field-validator>
</field>
<field name = "user.birthday">
<field-validator type = "date">
<param name = "min">1990-01-01</param>
<param name = "max">2020-01-01</param>
<message>请输入正确的生日</message>
</field-validator>
</field>
</validators>
输出:
<body>
用户名<s:property value = "user.username"/>
</body>