struts validator 验证配置

本文介绍如何在Struts 1.1中配置验证器,包括引入必要的jar包、设置资源文件、添加验证配置文件及修改struts配置文件等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里以jakarta-struts-1.1为例说明validator验证的配置方法。

  • 引用jar包(jakarta-struts-1.1\jakarta-struts-1.1\lib)

实现validator验证需要struts的两个jar包:commons-validator.jar和jakarta-oro.jar

  • 设置资源文件

在src目录下建立资源文件ApplicationResources.properties,如果其中包含中文,还需要转换成Unicode编码,可以使用Eclipse插件PropertyEditor,URL:http://propedit.sourceforge.jp/eclipse/updates/,或者使用naitve2ascii

user.usrName=姓名 user.usrPwd=密码 user.usrPwdConfirm=确认密码 user.usrComment=用户说明 errors.required={0}不能为空# errors.invalid={0}含有非法字符# errors.minlength={0}的位数不能小于{1}# errors.maxlength={0}的位数不能大于{1}# errors.twofields={0}与{1}不相等#

  • 添加validator配置文件(jakarta-struts-1.1\jakarta-struts-1.1\lib)

将如下两个文件复制到WEB-INF目录下(内容一般不需要修改,除非使用一下特殊的验证,后面会说明):

validator-rules_1_1.dtd

validator-rules.xml

在WEB-INF目录下新建验证文件:

validation.xml(以登录页面为例说明)

<?xml version="1.0" encoding="UTF-8"?> <form-validation> <formset> <form name="/user"> <field property="usrName" depends="required,maxlength,mask"> <arg0 key="user.usrName" /> <arg1 name="maxlength" key="${var:maxlength}" resource="false" /> <arg2 name="mask" key="$(var:mask)" resource="false" /> <var> <var-name>maxlength</var-name> <var-value>20</var-value> </var> <var> <var-name>mask</var-name> <var-value>^\w+$</var-value> </var> </field> <field property="usrPwd" depends="required,twofields,maxlength,mask"> <arg0 key="user.usrPwd" /> <arg1 key="user.usrPwdConfirm"/> <arg2 name="maxlength" key="${var:maxlength}" resource="false" /> <arg3 name="mask" key="$(var:mask)" resource="false" /> <var> <var-name>maxlength</var-name> <var-value>20</var-value> </var> <var> <var-name>mask</var-name> <var-value>^\w+$</var-value> </var> <var> <var-name>secondProperty</var-name> <var-value>usrPwdConfirm</var-value> </var> </field> <field property="usrComment" depends="maxlength,mask"> <arg0 key="user.usrComment" /> <arg1 name="maxlength" key="${var:maxlength}" resource="false" /> <arg2 name="mask" key="$(var:mask)" resource="false" /> <var> <var-name>maxlength</var-name> <var-value>20</var-value> </var> <var> <var-name>mask</var-name> <var-value>^\w+$</var-value> </var> </field> </form> </formset> </form-validation>

  • 修改struts配置文件 struts-config.xml

...... <action-mappings> <action name="userForm" parameter="handler" path="/user" scope="request" type="com.mycompany.action.UserAction" input="/user.jsp"> </action> </action-mappings> <message-resources parameter="ApplicationResources"/> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" property="pathnames" /> </plug-in> ......

注意:需要设置input="/user.jsp",否则运行报错

  • UserForm应该继承自ValidatorActionForm 而不是ActionForm

public class UserForm extends ValidatorActionForm

  • User.jsp添加验证失败的返回信息代码

在需要显示错误信息的地方插入<html:errors/>即可

到这里,就可以实现基本的验证了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值