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
獨孤行 閱讀(507)
評論(0) 編輯 收藏 所屬分類:
Struts