Struts 验证框架配置和使用 |
验证框架技术 一、 操作步骤: 1. 创建Web项目 2. 如果所用的IDE自带有验证框架的架包(jakarta-oro.jar/commons-validator.jar)就不用拷贝到WEB-INF/lib下,否则就的拷贝 3. 验证框架下有2个文件,分别是validator-rules.xml(一组验证规则)和validation.xml (自己配置的相关字段验证,这个xml是需要自己建) 4. 前面的准备工作做完后,就开始相关的配置了,在验证框架中,必须要有一个.dtd (它是commons-validator.jar中的一个文件,所以需要解压该架包才能获得,具体操作如下:自己所建项目下->WebRoot->WEB-INF->lib-> commons-validator.jar解压后->按照这个路径 (org/apache/commons/validator)-> resources->找到你所需要的相关.dtd文件) 5. 将validator-rules.xml中的错误信息拷贝到structs框架中的ApplicationResources.properties(资源文件)中,然后将validator-rules.xml中的 <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/> </plug-in>插件拷贝到struts-config.xml中的(<message-resources/>下) * 注 * :Form要继承ValidatorForm并且屏蔽掉validate方法 // public ActionErrors validate(ActionMapping mapping, // HttpServletRequest request) { // // TODO Auto-generated method stub // return null; // } 6.在validation.xml中进行相关的验证配置如: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN" "validator_1_0.dtd" > <form-validation> <formset> <form name="loginForm">//struts-config.xml中formBean的名字 <field property="username" depends="required,maxlength,minlength"> //property相关验证字段的名称,depends所对应的验证器 <arg0 key="用户名" resource="false"/> //当resource为TRUE时,表示使用来自resource Bundle中的消息,反之指定key中消息 <arg1 name="maxlength" resource="false" key="${var:maxlength}"/> <var> <var-name>maxlength</var-name> <var-value>8</var-value> </var> <arg2 name="minlength" resource="false" key="${var:minlength}"/> <var> <var-name>minlength</var-name> <var-value>2</var-value> </var> </field> </form> </formset> 所注意的问题:1、如<arg0 key="用户名" resource="false"/>在arg0中如果不设置验证器,那么就被所有的验证器通用 2、如<arg1 name="maxlength" resource="false" key="${var:maxlength}"/>中的arg1要与错误信息中所对应的该验证器的参数一至(errors.maxlength={0} can not be greater than {1} characters.) 如果(errors.maxlength={0} can not be greater than {2} characters.)的话,那么就必须将2改为1 7.jsp中的前台验证: <htm:form arction =”” οnsubmit=” return validateLoginForm(this) ”> <html:javascript formName="loginForm"/> //对应formBean的名字 8.配置完毕 |
Struts 验证框架配置和使用
最新推荐文章于 2024-09-16 22:49:41 发布