Struts中最常用的七種ActionForm如下:
1.ActionForm
2.ValidatorForm
3.ValidatorActionForm
4.DynaActionForm
5.DynaValidatorForm
6.DynaValidatorActionForm
7.LazyValidatorForm
由命名來(lái)看,就總體使用規(guī)律如下:
1.帶有Validator的,但都可使用驗(yàn)證框架;
2.以Dyna開(kāi)頭的,都是自動(dòng)生成相應(yīng)的form,只需在Struts-config.xml中配置屬性即可
3.中間是否有Action的,表示validation.xml中的form的name名,是跟formbean的名稱,還是/path路徑
下面按規(guī)律逐個(gè)介紹:
1.ActionForm,DynaActionForm此類不支持驗(yàn)證框架,需手動(dòng)創(chuàng)建form,并實(shí)現(xiàn)自定義的validate()方法
但DynaActionForm是特例(它自動(dòng)生成form),所以沒(méi)有validate()方法,所以也就不能驗(yàn)證
2.ValidatorForm,ValidatorActionForm,DynaValidatorForm
DynaValidatorActionForm,LazyValidatorForm 此大類都是支持驗(yàn)證框架的,當(dāng)然也可以完成自定義的validate()方法,來(lái)覆蓋驗(yàn)證框架的方法,其中:
ValidatorForm,DynaValidatorForm,LazyValidatorForm 沒(méi)有Action,是針對(duì)form來(lái)驗(yàn)證的,即凡是用到該form的頁(yè)面,都必須驗(yàn)證;
反之,ValidatorActionForm,DynaValidatorActionForm,則是針對(duì)Action的,要驗(yàn)證哪個(gè)Action,就跟那個(gè)/path路徑,validation.xml代碼如下:
<form-validation>
<formset>
<!-- 此時(shí)針對(duì)Action驗(yàn)證,name跟/path路徑--!>
<!--如果是針對(duì)form驗(yàn)證,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>
針對(duì)七種ActionForm,我們要靈活運(yùn)用,需要驗(yàn)證誰(shuí),就讓它停下,不需要的,讓它通過(guò)。
另外介紹下驗(yàn)證框架的使用步驟:
1.在validator-rules.xml中引入驗(yàn)證插件的代碼:
<!--引入驗(yàn)證框架--!>
<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.創(chuàng)建并配置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資源文件,來(lái)指明驗(yàn)證提示,當(dāng)然也可不用,直接聲明變量
# Resources for parameter 'ApplicationResources'
# Project ch07
username=username is null
pwd=pwd is null
pwd1=pwd is less than 6
以上來(lái)自各方面的學(xué)習(xí),加上自己的整合,希望與各位豪杰共同探討
posted on 2009-03-13 17:03
獨(dú)孤行 閱讀(510)
評(píng)論(0) 編輯 收藏 所屬分類:
Struts