1.配置strus2环境,加入相关的jar。
2.页面:
1)引入struts2的标签库<%@taglib prefix = "s" uri="/struts-tags" %>
2)显示验证错误信息
<s:head />
<s:fielderror />
表单数据:
<input type="text" id="email" name="user.email" />
<input type="text" id="username" name="user.username" />
<input type="password" id="password" name="user.password" />
<s:textfield name="user.birthday" theme="simple" /> 【也可以用普通的】
3)action:
public class UserAction extends ActionSupport{
private User user;
.......
//需要验证的请求
public String register(){
return "success";
}
4)struts.xml的配置:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.action.extension" value="" />
<package name="default-package" extends="struts-default" namespace="/">
<action name="register" class="action.UserAction" method="register">
<result name="success" type="redirect">
/core/toLogin
</result>
<result name="input">
/WEB-INF/jsp/user/register.jsp
</result>
</action>
</package>
</struts>
5)验证的xml文件 [文件名可以于Action的类名-请求的name的值-validation.xml命名]
如本例中使用的验证xml文件名字为:UserAction-register-validation.xml
【或者其他命名规则】
验证的xml文件跟action在同一个包结构下。
内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd" >
<validators>
<field name="user.email">
<field-validator type="requiredstring">
<message>email must is not null</message>
</field-validator>
<field-validator type="email">
<message>Please enter a valid email address</message>
<!--提示信息也可以使用国际化文件,在这里就不在阐述-->
</field-validator>
</field>
<field name="user.username">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>username must is not null!</message>
</field-validator>
<field-validator type="stringlength">
<param name="trim">true</param>
<param name="minLength">6</param>
<param name="maxLength">8</param>
<message>username must 6-8位!</message>
</field-validator>
</field>
<field name="user.password">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>password must is not null!</message>
</field-validator>
<field-validator type="stringlength">
<param name="trim">true</param>
<param name="minLength">6</param>
<param name="maxLength">6</param>
<message>password must 6位!</message>
</field-validator>
</field>
<field name="user.birthday">
<field-validator type="date">
<param name="min">1980-01-01</param>
<param name="max">2010-01-01</param>
<message>
birthday is date and must is 1980-01-01 to 2010-01-01</message>
</field-validator>
</field>
</validators>
strut2提供的验证规则还有:
< validators >
< validator name ="required"
class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator" />
< validator name ="requiredstring"
class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator" />
< validator name ="int"
class ="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator" />
<validator name ="double"
class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator" />
<validator name ="date"
class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator" />
< validator name ="expression"
class="com.opensymphony.xwork2.validator.validators.ExpressionValidator" />
<validator name ="fieldexpression"
class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator" />
<validator name ="email"
class="com.opensymphony.xwork2.validator.validators.EmailValidator" />
< validator name ="url"
class="com.opensymphony.xwork2.validator.validators.URLValidator" />
< validator name ="visitor"
class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator" />
< validator name ="conversion"
class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator" />
< validator name ="stringlength"
class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator" />
< validator name ="regex"
class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator" />
</ validators >