<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,我們對webwork本身進(jìn)行了修改,這是一種非常不好的辦法.

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

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

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

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

     

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

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

    jsvalidator=true

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

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

    webwork.ui.theme=jsxhtml

    當(dāng)然如果你不需要使用javaScript校驗(yàn),請保持原來的設(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) 評論(1)  編輯  收藏 所屬分類: WEB

    評論

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

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

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

    導(dǎo)航

    統(tǒng)計(jì)

    公告

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

    我的郵件
    cnscud # gmail


    常用鏈接

    留言簿(15)

    隨筆分類(113)

    隨筆檔案(103)

    相冊

    友情鏈接

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

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲成在人天堂一区二区| A在线观看免费网站大全| 亚洲Aⅴ无码一区二区二三区软件 亚洲AⅤ视频一区二区三区 | 精品国产香蕉伊思人在线在线亚洲一区二区 | 久久99精品免费视频| 国产亚洲精AA在线观看SEE| 免费一级毛片在线播放视频免费观看永久| 成年性午夜免费视频网站不卡| 精品亚洲AV无码一区二区三区| 一级女人18毛片免费| 亚洲成a人片在线观看精品| 皇色在线视频免费网站| 亚洲一区二区三区成人网站| 国产va免费精品观看精品| 国产91在线|亚洲| 日韩精品视频免费网址| 久久亚洲欧美国产精品| 日产国产精品亚洲系列| 99久久免费国产特黄| 99亚洲精品高清一二区| 五月亭亭免费高清在线| 亚洲精品久久无码| 亚洲成人高清在线| 日韩av无码免费播放| 亚洲美女大bbbbbbbbb| 成人性生交大片免费看无遮挡| 亚洲国产成人无码AV在线影院| 免费在线黄色网址| 免费在线黄色电影| 亚洲欧洲综合在线| 免费看香港一级毛片| 深夜特黄a级毛片免费播放| 亚洲爆乳精品无码一区二区三区| **一级毛片免费完整视| 久久综合久久综合亚洲| 亚洲精品国产va在线观看蜜芽| 未满十八18禁止免费无码网站| 亚洲色偷偷综合亚洲AV伊人蜜桃 | 在线观看免费视频一区| 亚洲国产精品综合久久网各| 国产免费卡一卡三卡乱码|