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

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

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

    給WebWork2.2增加JavaScript客戶端校驗(yàn)(一)

    在WebWork2.2中(beta-2) 我們發(fā)現(xiàn)它使用DWRValidator來做客戶端校驗(yàn),而我們熟悉的JavaScript客戶端校驗(yàn)已經(jīng)沒有了.

    DWRValidator的工作方式是利用input的onBlur事件來引發(fā)校驗(yàn)動(dòng)作,每次都連接到服務(wù)器端去進(jìn)行一次校驗(yàn)

    我認(rèn)為DWRValidator主要存在如下幾個(gè)問題:

    • 性能問題,每個(gè)input的一次onblur都會(huì)引發(fā)一個(gè)校驗(yàn)
    • 校驗(yàn)是異步的
    • 如果用戶不填寫數(shù)據(jù),直接點(diǎn)擊提交,目前是不會(huì)引發(fā)校驗(yàn)的(以后可能會(huì)修正,不過因?yàn)楫惒綑C(jī)制,不是很好處理)

    當(dāng)然DWRValidator也有很多好處

    • 用戶無需關(guān)心客戶端校驗(yàn)的處理
    • 不用寫JavaScript了
    • 客戶端校驗(yàn)和服務(wù)器端校驗(yàn)保持一致

     

    無論如何,我們應(yīng)該給用戶更多選擇,于是,我經(jīng)過幾天的研究,給WebWork2.2加上了在2.1.6版本中存在的JavaScript客戶端校驗(yàn).

    具體步驟如下:

    • 在webwork.properties里面增加一個(gè)配置,來配置校驗(yàn)
    • 從WebWork2.1.6中復(fù)制 ScriptValidationAware, JavaScriptVisitorFieldValidator,JavaScriptRequiredFieldValidator
    • 從WebWork2.2中復(fù)制Form.java, UIBean.java,進(jìn)行相應(yīng)修改
    • 創(chuàng)建一個(gè)新的模板template,例如叫jsxhtml,從xhtml模板目錄復(fù)制 form.ftl,form_close.ftl,theme.proerties 等并進(jìn)行修改
    • 從webwork-2.2-beta-2.jar 以及 src.jar里面刪除Form,UIBean2個(gè)類

    是的,你看到了一些bad smell,我們對(duì)webwork本身進(jìn)行了修改,這是一種非常不好的辦法.

    不過目前為止我還沒有找到更簡單的辦法. (如果你有任何想法,可以告訴我 :) )  ,只好采取這種辦法.

    當(dāng)然如果Webwork本身提供這種支持,那肯定就是更好地了. :)  如果你覺得這樣不錯(cuò),可以去WebWork的論壇發(fā)表你的意見,否則開發(fā)人員肯定是不會(huì)采取的.

     注意事項(xiàng)!!!

    webwork還在不斷的修改中,還沒有發(fā)布2.2的最后版本,所以下文提到的修改都是會(huì)隨時(shí)變化的,所以只有到了最后發(fā)布的時(shí)候,才能確定修改的內(nèi)容,請(qǐng)不要盲目修改.

     

    修改配置文件,增加自定義設(shè)置

    在自己項(xiàng)目里的webwork.properties文件里面增加

    jsvalidator=true

    true表示使用JavaScript校驗(yàn),否則即使你使用了對(duì)應(yīng)的模板也不會(huì)進(jìn)行設(shè)置.

    為了使用對(duì)應(yīng)的模板,你可以在tag中指定使用的theme,也可以在webwork.properties里面指定默認(rèn)的theme:

    webwork.ui.theme=jsxhtml

    當(dāng)然如果你不需要使用javaScript校驗(yàn),請(qǐng)保持原來的設(shè)置

     


     


     
    創(chuàng)造共用協(xié)議:署名,非商業(yè),保持一致   除經(jīng)特別注明外,本文章版權(quán)歸JScud Develop團(tuán)隊(duì)或其作者所有.
    署名,非商業(yè)用途,保持一致.   scud(飛云小俠)   JScud Develop

    posted on 2005-10-03 14:32 Scud(飛云小俠) 閱讀(1254) 評(píng)論(1)  編輯  收藏 所屬分類: WEB

    評(píng)論

    # re: 給WebWork2.2增加JavaScript客戶端校驗(yàn)(一) 2006-04-03 14:57 憲哥

    hack jar還蠻郁悶的。不過還是謝謝scud做出的貢獻(xiàn)!  回復(fù)  更多評(píng)論   

    <2005年10月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    文章發(fā)布許可
    創(chuàng)造共用協(xié)議:署名,非商業(yè),保持一致

    我的郵件
    cnscud # gmail


    常用鏈接

    留言簿(15)

    隨筆分類(113)

    隨筆檔案(103)

    相冊(cè)

    友情鏈接

    技術(shù)網(wǎng)站

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 香蕉视频亚洲一级| 亚洲人和日本人jizz| 国产亚洲视频在线观看| 成年女性特黄午夜视频免费看| 亚洲AV无码成人精品区蜜桃| jizz18免费视频| 亚洲黄片毛片在线观看| 亚洲国产AV无码一区二区三区| 国产99视频精品免费观看7| 亚洲一区二区三区深夜天堂| 1000部夫妻午夜免费| 亚洲无圣光一区二区| 可以免费看的卡一卡二| 亚洲日日做天天做日日谢| 久久国内免费视频| 亚洲日韩一区二区三区| 国产在线不卡免费播放| 免费国产高清毛不卡片基地 | 99re热免费精品视频观看 | 国产又黄又爽又大的免费视频| 国产精品亚洲二区在线观看| aaa毛片视频免费观看| 亚洲国产精品无码久久久不卡| 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 国产精品免费观看久久| 亚洲精品国产首次亮相| 亚洲国产婷婷综合在线精品 | 亚洲性色成人av天堂| 日本免费一区二区三区最新| 久久久久亚洲AV无码去区首| 亚洲午夜日韩高清一区| 免费观看91视频| 久久精品国产亚洲av麻| 久久久久免费精品国产小说| 亚洲精品国产第1页| 午夜高清免费在线观看| 久99久无码精品视频免费播放| 亚洲自偷自拍另类12p| 成人五级毛片免费播放| 9久热精品免费观看视频| 亚洲国产福利精品一区二区|