[導(dǎo)入][AppFuse] AppFuse使用手記--Validator(八) [原]

              上篇中例子還有一個小小的問題。因為所有的Action配置都指向同一個Action類。而AppFuse會對沒敢Action生成一個Validator的xml文件。而當(dāng)同一個Action里包含很多操作,而這些操作對同一個POJO效驗又不一樣時,就會出現(xiàn)問題。比較常見的時,一個POJO Create和Update時對某個field效驗不能為空,而POJO做為查詢條件時這個field卻允許為空。這樣生成的Validator配置就不能同時運用于這一個Action。
             
              而Validator的配置文件為ActionName-validation.xml,即每個xml對應(yīng)于一個Action。所以需要我們把不同的操作放到不同的Action里,在配置不同的xml驗規(guī)則。這樣有一個問題,就是可能引起Action的類爆炸,而且不同的Action里可能會有很多相同的代碼。我但是想能不能用Action的extends來避免這個問題。后來發(fā)現(xiàn)Action的extends是可以規(guī)避類爆炸的問題,可是效驗還是會出現(xiàn)向前的問題,原因是因為“WebWork搜索活動類的繼承樹尋找父類或接口的校驗規(guī)則”。就是說,驗框架按照自上而下的順序在類層次查找配置文件。
             
              還有一種解決的方法,就是自己寫一個Validator,可以參考結(jié)合驗證在struts中減少Action和ActionForm的數(shù)量
             
              我建議WebWork可以考慮在Validator的效驗規(guī)則里象struts.xml的Action標(biāo)簽一樣增加method參數(shù)。可以根據(jù)不同的method定義不同的效驗規(guī)則。
          文章來源: http://heyday.blogcn.com/diary,15423464.shtml

          posted on 2008-05-04 20:57 不同樊響 閱讀(313) 評論(0)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          <2008年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          統(tǒng)計

          常用鏈接

          留言簿(2)

          隨筆檔案(23)

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 庄河市| 清涧县| 晋江市| 莫力| 西昌市| 楚雄市| 鄂托克旗| 山东| 阜阳市| 金溪县| 钟山县| 连山| 西藏| 临夏县| 广平县| 江西省| 漳州市| 松江区| 海兴县| 涞水县| 紫云| 德昌县| 阜宁县| 阳原县| 高州市| 玉溪市| 乐清市| 铜川市| 江西省| 旌德县| 广河县| 东山县| 萨嘎县| 建德市| 新田县| 八宿县| 宜兰县| 北流市| 通化县| 自治县| 克拉玛依市|