struts2中xml文件校验方式
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年7月12日 11:17:34 星期日
第一步:
在Action所在的包,新建一个名称为“Action名称-validation.xml”的xml文件。
如:LoginAction.java对应的校验xml为LoginAction-validation.xml

第二步:配置LoginAction-validation.xml文件
例如在action定义了两个参数变量
private String userName;
private String userPassword;
需要对这两个变量进行校验,则需要LoginAction-validation.xml文件进行相应的配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
<field name="userName">
<field-validator type="requiredstring">
<message>用户名为必填项。</message>
</field-validator>
<field-validator type="stringlength">
<param name="maxLength">5</param>
<param name="minLength">2</param>
<message>用户名的长度为${minLength}到${maxLength}个字符。</message>
</field-validator>
</field>
<field name="userPassword">
<field-validator type="requiredstring">
<message>密码为必填项。</message>
</field-validator>
<field-validator type="stringlength">
<param name="maxLength">8</param>
<param name="minLength">6</param>
<message>密码的长度为${minLength}到${maxLength}个字符。</message>
</field-validator>
</field>
</validators>
field-validator type的定义为:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator Definition 1.0//EN"
"http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd">
<!-- START SNIPPET: validators-default -->
<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="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
<validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
<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"/>
<validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
</validators>
<!-- END SNIPPET: validators-default -->
第三步:配置struts.xml文件,设置校验不通过的返回页面
<result name="input">login.jsp</result>
具体如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="strutsTest" extends="struts-default">
<action name="login" class="com.struts2.action.LoginAction">
<result name="success">userIndex.jsp</result>
<result name="input">login.jsp</result>
<result name="invalid.token">token.jsp</result>
<interceptor-ref name="token"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>
</package>
</struts>
第四步:
在页面显示校验错误信息
<s:fielderror cssStyle="color:red;"></s:fielderror>
例子如下:
<s:fielderror cssStyle="color:red;"></s:fielderror>
<s:form action="login" method="post" theme="simple">
用户名:<s:textfield name="userName"></s:textfield><br/>
密码:<s:password name="userPassword"></s:password><br/>
<s:token></s:token>
<input type="submit" value="登录" /><br/>
</s:form>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年7月12日 11:17:34 星期日


1678

被折叠的 条评论
为什么被折叠?



