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

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

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

    JAVA—咖啡館

    ——?dú)g迎訪問(wèn)rogerfan的博客,常來(lái)《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術(shù),交流工作經(jīng)驗(yàn),分享JAVA帶來(lái)的快樂(lè)!本網(wǎng)站部分轉(zhuǎn)載文章,如果有版權(quán)問(wèn)題請(qǐng)與我聯(lián)系。

    BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
      447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

    一、使用校驗(yàn)規(guī)則創(chuàng)建Person-validation.xml文件


           為了利用WebWork校驗(yàn)框架實(shí)現(xiàn)數(shù)據(jù)校驗(yàn)有兩件事情要做,第一是創(chuàng)建一個(gè)validation.xml文件,第二是在需要進(jìn)行校驗(yàn)的action中加入一個(gè)校驗(yàn)interceptor引用。

           WebWork允許兩種類(lèi)型的校驗(yàn) —— per-action和model-based。因?yàn)樗械腁ction對(duì)Person引用都要使用相同的校驗(yàn)規(guī)則,所以本文將使用model-based類(lèi)型的校驗(yàn)。

           在src/dao/**/model目錄下創(chuàng)建Person-validation.xml文件并加入下列內(nèi)容:

     

     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"屬性以實(shí)現(xiàn)國(guó)際化。如果不需要提供對(duì)i18n的支持可以直接對(duì)<message>元素中指定顯示內(nèi)容。 

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

     

           現(xiàn)在可以配置PersonAction使用visitor validation。為了實(shí)現(xiàn)這個(gè)目標(biāo),在PersonAction目錄下創(chuàng)建一個(gè)PersonAction-validation.xml文件。加入下面的內(nèi)容:

     

     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沒(méi)有提供一個(gè)透明機(jī)制讀取Person-validation.xml文件并且標(biāo)記在UI上標(biāo)記哪個(gè)字段時(shí)必須的。 AppFuse的Struts和Spring版本使用LabelTag實(shí)現(xiàn)了這個(gè)目標(biāo),不過(guò)他們也只是實(shí)現(xiàn)了一個(gè)普通的校驗(yàn)。我希望有人能夠?yàn)?WebWork提供相同的功能實(shí)現(xiàn)。同時(shí)JSP tags "required" 屬性實(shí)際上沒(méi)有對(duì)你所指定的校驗(yàn)規(guī)則作任何事情,僅僅是在加入對(duì)應(yīng)的字段后面加入了一個(gè)星號(hào)而已。

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

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

     

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

     

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

     

    posted on 2010-07-11 18:46 rogerfan 閱讀(372) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 【開(kāi)源技術(shù)】
    主站蜘蛛池模板: 超清首页国产亚洲丝袜| 国产成人亚洲精品| 亚洲视频免费观看| 亚洲AV成人精品日韩一区| 亚洲色偷偷综合亚洲AV伊人| 99久久人妻精品免费二区| 亚洲精品无码国产片| 亚洲韩国精品无码一区二区三区| 最新黄色免费网站| 免费看又黄又爽又猛的视频软件| 亚洲人成亚洲精品| 免费**毛片在线播放直播| 精品女同一区二区三区免费站| 爱爱帝国亚洲一区二区三区| 亚洲狠狠综合久久| 免费在线一级毛片| 91网站免费观看| 三上悠亚电影全集免费| 亚洲人成网站18禁止| 亚洲人成电影在线天堂| 国产一区二区三区免费看 | 亚洲国产精品免费在线观看| 国产亚洲人成在线影院| 亚洲美女大bbbbbbbbb| 91麻豆国产自产在线观看亚洲| 四虎永久在线精品免费网址| 国产成人免费ā片在线观看老同学 | 亚洲国产高清视频| 亚洲精品动漫人成3d在线| 成人毛片免费观看视频在线| 中文字幕免费在线看电影大全 | 99亚洲乱人伦aⅴ精品| 亚洲国产精品专区| 亚洲第一区香蕉_国产a| 国产成人高清亚洲| 免费一级毛片在线观看| 精品国产麻豆免费网站| 一二三四免费观看在线视频中文版 | 免费看大黄高清网站视频在线| 日本黄网站动漫视频免费| 久久久久久成人毛片免费看|