<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 70,comments - 408,trackbacks - 0
     Validator框架如今成為Jakarta的公共項目的一部分,Struts攜帶了Validator框架,主要是兩個jar文件,jakarta-oto.jar和commons-validator.jar文件.前者提供了一組處理文本的類,具有文本替換過濾和分割等功能,后者提供了一個簡單的,可擴展的驗證框架,包含了通用的驗證方法和驗證規則.如果Struts使用Validator需要添加那兩個jar文件到lib目錄.Validator框架采用了兩個基于XML的配置文件來配置驗證規則,這兩個文件是validator-rules.xml和validation.在Struts應用中,它們放在WEB-INF目錄.
     Validator-rules.xml文件包含了一組通用的驗證規則,對所有的String都適用.一般的情況下沒必要修改,除非需要修改或者擴展默認的規則.建議如果想擴展默認的驗證規則,最好把自定義的客戶化規則放在另一個XML文件中,這樣當升級Validator框架版本的時候,也無需修改validator-rules.xml文件.因為這個XML是不推薦修改的,所以我只是簡單的介紹一下具體的<validator>元素的幾個屬性,至于具體需要開發人員來開發的是validation的XML文件.<validator>元素的name屬性指定驗證規則的邏輯名,這個名字必須唯一.還有classname和method屬性分別指實現驗證規則邏輯的類和方法.msg屬性指定來自Resource中的消息key,驗證失敗,根據這個消息Key去找匹配的消息文本.depends屬性指定在調用當前驗證規則之前必須調用其他驗證規則.
     Validation.xml文件是針對某個具體的Struts應用,需要開發人員來創建的,它可以為應用中的ActionForm配置所需要的驗證規則,取代ActionForm類中編程的方式來實現驗證.<form-validation>元素是validatin.xml文件的根元素,它包含兩個子元素<global>和<formset>,<global>可以出現零次或者多次,而<formset>元素可以出現一次或者多次他們的DTD定義是:<!element form-validation(global*,formset+)>.<global>元素可以定義<constant>子元素,它用來定義常量表達式,在文件中其余地方可以應用這些常量表達式.<formset>元素包含兩個子元素<constant>和<form>,<form>元素用于為表單配置驗證規則,它的name屬性指定了表單的名字.<form>包含一個或者多<field>子元素,用于配置表單中字段的驗證規則.<field>的<msg>子元素指定驗證規則對應的消息文本,該消息文本替代validator-rules.xml文件中為驗證規則配置的默認的消息文本.<msg>元素的主要屬性是:name指定驗證規則的名字,key當resource屬性為true的時候,key屬性指定的消息key該消息key應該在Resource Bundle中存在.key屬性直接指定消息文本.resource當此項為true的時候,表示使用來自ResourceBundle的消息.<field>元素還可以包括附加的子元素<arg0><arg1><arg2>用于替換符合消息中的參數.<field>元素元素還可以包含零個或者多個<var>元素,用來向驗證規則傳遞參數.
     Validator插件需要在Struts配置文件中配置ValidatorPlugIn插件如下:
     <plug-in className=”org.apache.struts.validator.ValidatorPlugIn”>
      <set-property
           property=”pathnames”
           value=”/WEB-INF/validator-rules.xml/WEB-INF/validation.xml”/>
     </plug-in>
    當應用啟動時,Struts框架會加載ValidatorPlugIn插件,并調用它的init()方法,根據pathnames屬性,加載相應的validator-rules.xml和validation.xml文件,把驗證信息讀入到內存中.
     Validator框架不能用于驗證標準的org.apache.struts.atcion.ActionForm類,如果要使用Validator框架,應該采用ActionForm的兩個子類,validator包DynaValidatorForm和ValidatorForm類.DynaValidatorForm支持動態的ActionForm中使用Validator框架,ValidatorForm支持在標準的ActionForm中使用validator框架.無論是動態的還是標準的,它們的配置方法都一樣.而且Struts的一些標簽也可以和Validator框架協同工作,例如<html:errors>和<html:messages>Validator框架提供了對I18N的支持,無論是客戶端驗證,還是服務器驗證.Validator框架都從應用ResourceBundle中獲取錯誤信息.所以說它很好的支持的國際化.總結一下Struts應用中使用validator框架的步驟:
    創建擴展ValidatorForm或者ValidatorActionForm類的ActionForm類,如果使用動態的ActionForm,則無需創建擴展DynaValidatorForm或者DynaBalidatorActionForm類的子類,可以直接進行.
    在Struts配置文件中配置<form>和<action>元素.
    把Validator框架使用的消息文本添加到應用的ResourceBundle中.
    在Validation.xml文件中為表單配置驗證規則.
    在Struts配置文件中配置ValidatorPlugIn插件.
    如果更深入的學習Validator驗證框架,建議閱讀孫衛琴的<<精通Struts>>一書,本人
    曾經從中受益匪淺,寫文章的很多啟發也來自該書.
    posted on 2005-11-08 21:02 我心依舊 閱讀(1303) 評論(1)  編輯  收藏

    FeedBack:
    # re: Validator驗證框架[未登錄]
    2007-09-24 16:07 | 流水
    什么文章??
    沒有技術含量  回復  更多評論
      

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲欧洲无码一区二区三区| 真正全免费视频a毛片| 午夜影视在线免费观看| 猫咪www免费人成网站| 久久伊人亚洲AV无码网站| 免费视频爱爱太爽了| 日本一区二区在线免费观看| 日本亚洲欧洲免费天堂午夜看片女人员| 2020久久精品亚洲热综合一本| 亚洲精品视频在线看| 99久久这里只精品国产免费| 亚洲免费视频一区二区三区| 亚洲成人福利网站| 久久精品亚洲福利| 国产精品成人观看视频免费| 九九视频高清视频免费观看 | 亚洲国产福利精品一区二区| 日本成人免费在线| 污视频在线免费观看| 蜜臀亚洲AV无码精品国产午夜.| 亚洲国产精品久久| 亚洲Av无码乱码在线观看性色| 中文字幕视频免费| 亚欧洲精品在线视频免费观看| 亚洲熟妇无码av另类vr影视| 午夜亚洲AV日韩AV无码大全| 亚洲va中文字幕无码| 猫咪社区免费资源在线观看| 免费福利电影在线观看| 又长又大又粗又硬3p免费视频| 亚洲色大成网站www久久九| 色拍自拍亚洲综合图区| 中文字幕亚洲不卡在线亚瑟| 成人免费视频国产| 久久精品女人天堂AV免费观看| 日本高清不卡aⅴ免费网站| 免费一级全黄少妇性色生活片 | 国产国产人免费人成免费视频| 日本免费xxxx色视频| 亚洲欧洲免费视频| 97无码人妻福利免费公开在线视频|