Struts中最常用的七种ActionForm如下:
1.ActionForm
2.ValidatorForm
3.ValidatorActionForm
4.DynaActionForm
5.DynaValidatorForm
6.DynaValidatorActionForm
7.LazyValidatorForm
由命名来看,就总体使用规律如下:
1.带有Validator的,但都可使用验证框架;
2.以Dyna开头的,都是自动生成相应的form,只需在Struts-config.xml中配置属性即可
3.中间是否有Action的,表示validation.xml中的form的name名,是跟formbean的名称,还是/path路径
下面按规律逐个介绍:
1.ActionForm,DynaActionForm此类不支持验证框架,需手动创建form,并实现自定义的validate()方法
但DynaActionForm是特例(它自动生成form),所以没有validate()方法,所以也就不能验证
2.ValidatorForm,ValidatorActionForm,DynaValidatorForm
DynaValidatorActionForm,LazyValidatorForm 此大类都是支持验证框架的,当然也可以完成自定义的validate()方法,来覆盖验证框架的方法,其中:
ValidatorForm,DynaValidatorForm,LazyValidatorForm 没有Action,是针对form来验证的,即凡是用到该form的页面,都必须验证;
反之,ValidatorActionForm,DynaValidatorActionForm,则是针对Action的,要验证哪个Action,就跟那个/path路径,validation.xml代码如下:
<form-validation>
<formset>
<!-- 此时针对Action验证,name跟/path路径--!>
<!--如果是针对form验证,name则跟formbean的名称--!>
<form name="/login">
<field property="username" depends="required">
<msg name="required" key="username"/>
</field>
<field property="pwd" depends="required,minlength">
<msg name="required" key="pwd"/>
<msg name="minlength" key="pwd1"/>
<var>
<var-name>minlength</var-name>
<var-value>6</var-value>
</var>
</field>
</form>
</formset>
</form-validation>
针对七种ActionForm,我们要灵活运用,需要验证谁,就让它停下,不需要的,让它通过。
另外介绍下验证框架的使用步骤:
1.在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>
2.创建并配置validation.xml 文件,代码如下:
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation>
<formset>
<form name="loginForm">
<field property="username" depends="required">
<msg name="required" key="username"/>
</field>
<field property="pwd" depends="required,minlength">
<msg name="required" key="pwd"/>
<msg name="minlength" key="pwd1"/>
<var>
<var-name>minlength</var-name>
<var-value>6</var-value>
</var>
</field>
</form>
</formset>
</form-validation>
3.描述.properties资源文件,来指明验证提示,当然也可不用,直接声明变量
# Resources for parameter 'ApplicationResources'
# Project ch07
username=username is null
pwd=pwd is null
pwd1=pwd is less than 6
以上来自各方面的学习,加上自己的整合,希望与各位豪杰共同探讨
posted on 2009-03-13 17:03
独孤行 阅读(496)
评论(0) 编辑 收藏 所属分类:
Struts