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

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

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

    JAVA—咖啡館

    ——歡迎訪問rogerfan的博客,常來《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術,交流工作經驗,分享JAVA帶來的快樂!本網站部分轉載文章,如果有版權問題請與我聯系。

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

    一、使用校驗規則創建Person-validation.xml文件


           為了利用WebWork校驗框架實現數據校驗有兩件事情要做,第一是創建一個validation.xml文件,第二是在需要進行校驗的action中加入一個校驗interceptor引用。

           WebWork允許兩種類型的校驗 —— per-action和model-based。因為所有的Action對Person引用都要使用相同的校驗規則,所以本文將使用model-based類型的校驗。

           在src/dao/**/model目錄下創建Person-validation.xml文件并加入下列內容:

     

     1<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN"  
     2  "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd"> 
     3<validators> 
     4    <field name="person.firstName"> 
     5        <field-validator type="requiredstring"> 
     6            <message key="errors.required"/> 
     7        </field-validator> 
     8    </field> 
     9    <field name="person.lastName"> 
    10        <field-validator type="requiredstring"> 
    11            <message key="errors.required"/> 
    12        </field-validator> 
    13    </field> 
    14</validators> 

     

           在ApplicationResources_*.properties文件中的"errors.message" 鍵值使用字段的"name"屬性以實現國際化。如果不需要提供對i18n的支持可以直接對<message>元素中指定顯示內容。 

    1errors.required=${getText(fieldName)} is a required field.

     

           現在可以配置PersonAction使用visitor validation。為了實現這個目標,在PersonAction目錄下創建一個PersonAction-validation.xml文件。加入下面的內容:

     

     1<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN"      
     2    "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd"> 
     3<validators> 
     4    <field name="person"> 
     5        <field-validator type="visitor"> 
     6            <param name="appendPrefix">false</param> 
     7            <message/> 
     8        </field-validator> 
     9    </field> 
    10</validators>  


            糟糕的是,WebWork沒有提供一個透明機制讀取Person-validation.xml文件并且標記在UI上標記哪個字段時必須的。 AppFuse的Struts和Spring版本使用LabelTag實現了這個目標,不過他們也只是實現了一個普通的校驗。我希望有人能夠為 WebWork提供相同的功能實現。同時JSP tags "required" 屬性實際上沒有對你所指定的校驗規則作任何事情,僅僅是在加入對應的字段后面加入了一個星號而已。

            當然,也可以使用per-action校驗。只需要拷貝Person-validation.xml文件到"webapp.action"包中并且把它重命名為PersonAction-validation.xml。

            為了使在"savePerson" 操作中我們新加入的校驗規則發揮作用,我們要把原來在"validator"屬性上的注釋去掉。確定最后在web/WEB- INF/classes/xwork.xml文件的"savePerson" <action> 部分包含以下內容:

     

    1<interceptor-ref name="validationStack"/> 

     

        說明:在Appfuse中使用的validationStack和WebWork自帶的有些不同,更多的信息可以在WebWork's JIRA中查找。

     

    posted on 2010-07-11 18:46 rogerfan 閱讀(368) 評論(0)  編輯  收藏 所屬分類: 【開源技術】
    主站蜘蛛池模板: 亚洲中文字幕无码久久综合网| 日韩免费电影在线观看| 亚洲一区二区三区乱码A| 国产天堂亚洲国产碰碰| 亚洲?V无码成人精品区日韩 | 亚洲精品国产电影| 免费人成在线观看播放a| 亚洲国产精品成人久久蜜臀 | 亚洲AV第一成肉网| 国产极品美女高潮抽搐免费网站| 亚洲精品女同中文字幕| 免费一级毛片正在播放| 一级全免费视频播放| 亚洲日本va在线视频观看| 免费看搞黄视频网站| 亚洲精品国产成人| 操美女视频免费网站| 337p日本欧洲亚洲大胆人人| 免费大黄网站在线观| 日韩a级无码免费视频| 亚洲人成依人成综合网| 24小时日本在线www免费的| 久久亚洲AV成人无码国产电影| 亚洲日韩国产一区二区三区| 日本高清高色视频免费| 亚洲国产人成在线观看| 免费无码又爽又刺激高潮 | 亚洲aⅴ天堂av天堂无码麻豆| 免费大香伊蕉在人线国产| a在线视频免费观看在线视频三区| 亚洲成A人片在线观看无码不卡 | 最新中文字幕免费视频| 亚洲精品国产日韩无码AV永久免费网| 国产亚洲精品一品区99热| 男女超爽刺激视频免费播放| 偷自拍亚洲视频在线观看99| 国产亚洲一区二区三区在线观看| 最近免费中文字幕视频高清在线看 | 57pao国产成视频免费播放| 亚洲人AV在线无码影院观看| 狠狠亚洲婷婷综合色香五月排名|