struts1.3的自动验证插件

来源:互联网 发布:艾瑞咨询 网络购物 编辑:程序博客网 时间:2024/06/05 11:44

和上篇博客一样, 我学习的视频时sturts1.2的, 而我使用的是1.3的, 所以继续通过官方文档挖掘两者异同= =

1. 为项目添加struts1.3的facet

自动添加的jar包中会有commons-validator-1.3.1.jar和oro-2.0.8.jar, 这里与1.2中的jar包名字会有所不同


2. validation.xml和validator-rules.xml

我看视频里1.2中的validator-rules.xml会自动出现在WEB-INFO文件夹下诶

在1.3中, 这个文件存在于struts-core-1.3.x.jar下的/org/apache/struts/validator/validator-rules.xml

至于validation.xml, 我没有找到在哪里, 所以从官方的example中copy了一份过来= = 放在WEB-INFO文件夹下

需要注意的是, 与1.2不同的是这一段中的版本号

<!DOCTYPE form-validation PUBLIC         "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN"         "http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd">


3. 根据validator-rules.xml中所说的, 填写ApplicationResources.properties


4. 在struts-config.xml中加入这一插件, 注意value中文件的位置哦

<plug-in className="org.apache.struts.validator.ValidatorPlugIn" >  <set-propertyproperty="pathnames"        value="/org/apache/struts/validator/validator-rules.xml,               /WEB-INF/validation.xml"/>  </plug-in>


以上, 就完成了这一自动验证插件的配置

下面就是如何使用


5. 在struts-config.xml中自动生成Action,Form和JSP

要注意Form需要继承ValidatorForm哦, 而且不能有validate()方法!

public class LoginForm extends ValidatorForm {

还是以login为例, 添加username和password方法


6. 在validation.xml中配置需要验证的property, 验证的类型, 报错的参数, 验证中的参数

<!DOCTYPE form-validation PUBLIC     "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN"     "http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd"><form-validation><global></global>    <formset>        <form name="loginForm">            <field                property="username"                depends="required">                    <arg key="loginForm.username"/>            </field>            <field                property="password"                depends="required,mask">                    <arg key="loginForm.password"/>                    <var>                        <var-name>mask</var-name>                        <var-value>^[0-9a-zA-Z]*$</var-value>                    </var>            </field>        </form>    </formset></form-validation>


0 0
原创粉丝点击