隨筆-10  評(píng)論-22  文章-1  trackbacks-0

          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

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 玉门市| 民勤县| 威信县| 临邑县| 临海市| 喀喇| 木里| 铁岭县| 博客| 福贡县| 大英县| 淳安县| 青冈县| 安国市| 汝城县| 宝丰县| 神木县| 南陵县| 林周县| 神池县| 南召县| 八宿县| 深水埗区| 大庆市| 商城县| 西林县| 文山县| 额敏县| 彰化市| 定西市| 河间市| 外汇| 广灵县| 陵水| 宁蒗| 岚皋县| 平南县| 福州市| 两当县| 河源市| 三台县|