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

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

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

    像一顆晨土

    常用鏈接

    統(tǒng)計(jì)

    blogs

    life

    最新評(píng)論

    Webwork2.2.2 重返Client Validation

            自Webwork2.2發(fā)布以后,Webwork的驗(yàn)證機(jī)制就全部改由Ajax驗(yàn)證。驗(yàn)證的原理是一個(gè)需要驗(yàn)證的表單域在onblur時(shí)發(fā)送一次請(qǐng)求到服務(wù)器端進(jìn)行驗(yàn)證,然后實(shí)時(shí)提醒。雖然這樣達(dá)到驗(yàn)證目的,但在我看來,這惡心死了。如果我有一個(gè)表單幾十個(gè)域需要驗(yàn)證,我在各個(gè)域之間切換的話,我的服務(wù)器還不累得夠嗆?可憐原來有的客戶端驗(yàn)證功能沒了。。我只好手寫Javascript了。。
           到了Webwork2.2.2這個(gè)版本,有個(gè)好消息來了。Webwork重新支持客戶端驗(yàn)證。于是馬上搶先試了試。

           客戶端驗(yàn)證的例子可見Webwork自還的例子“showcase”。使用客戶端驗(yàn)證大體上跟以前的服務(wù)器端驗(yàn)證相似,只是多了一些步驟。完整的有以下幾個(gè)步驟:
           一、編寫XXXAction-alias-validation.xml--驗(yàn)證配置文件。文件放在需要驗(yàn)證的Action類同一目錄下,alias是可選項(xiàng),如果有幾個(gè)Action使用了同一個(gè)Action類。而你想對(duì)其中一個(gè)Action進(jìn)行驗(yàn)證,那么alias就是那個(gè)Action的名字。如:PersonAction.java,被editPerson,savePerson,deletePerson等Action使用到,而僅需要對(duì)savePerson這個(gè)動(dòng)作來驗(yàn)證時(shí),配置文件名字就是:PersonAction-savePerson-validation.xml。Webwork支持的客戶端驗(yàn)證類型有:
    • required validator
    • requiredstring validator
    • stringlength validator
    • regex validator
    • email validator
    • url validator
    • int validator
    • double validator

           二、配置Xwork.xml,保證攔截器棧里有Validation的攔截器
           三、編寫Jsp(VM或FTL)。這里有幾個(gè)需要注意的地方。
           1.在Jsp加上一個(gè)Head標(biāo)簽,<ww:head/>的結(jié)果是生成兩個(gè)Css樣式的鏈接:
    <link rel="stylesheet" href="/bean/webwork/xhtml/styles.css" type="text/css"/>
    <link rel="stylesheet" href="/bean/webwork/jscalendar/calendar-blue.css" type="text/css"/>
    主要是獲取顯示錯(cuò)誤是的樣式。
           2、使用<ww:form>,很遺憾我們只能夠用Webwork的UI標(biāo)簽,這樣才能使用到她的客戶端驗(yàn)證機(jī)制。在這里要抱怨一下。。<ww:form>的標(biāo)簽是挺方便,但是在特定的場(chǎng)合,我們必須使用自已的樣式和風(fēng)格的布局。而Webwork默認(rèn)的XHTML主題的標(biāo)簽會(huì)把布局搞亂。當(dāng)然,我可以使用Simple主題的。但是在需要客戶端驗(yàn)證的時(shí)候,Simple主題是行不通的。也就是說要求主題必須是XHTML以上。。或者自定義的主題(自已提供錯(cuò)誤信息報(bào)告功能)。呵。沒辦法,先將就著用XHTML吧。
           在<ww:form>的標(biāo)簽里使用namespace 及Action屬性。如果你的Action是/foo/bar/new.action那么,你必須這樣寫:
           <ww:form namespace="/foo/bar" action="new"  validate="true"/>
    validate="true"一句將會(huì)在客戶端生成一句:
       <script src="/bean/webwork/xhtml/validation.js"></script>
    如果你這樣寫:
           <ww:form action="/foo/bar/new.action" validate="true"/>,你將得不到客戶端驗(yàn)證。要注意,這個(gè)細(xì)節(jié)不容忽視。我被這個(gè)小問題搞大頭了。后來查文檔的時(shí)候才知道Webwork已經(jīng)提醒我們要像上一種寫法那樣寫。因?yàn)樗滥膫€(gè)名字空間下的哪個(gè)Action需要被驗(yàn)證!看吧。這是心急的錯(cuò)。不看文檔后果就自負(fù)。
           以上兩種寫法,在頁面上生成Js的結(jié)果是不一樣的。第一種寫法會(huì)在頁面上生成相應(yīng)的驗(yàn)證規(guī)則。第二種寫法生成的Js,只是簡(jiǎn)單清楚報(bào)錯(cuò)信息然后提交請(qǐng)求到服務(wù)器,由服務(wù)器來驗(yàn)證。

           只需要這三步,Webwork2.2.2的客戶端驗(yàn)證功能就算是使用了。感覺還不錯(cuò)。唯一納悶的還是Webwork強(qiáng)制我什么使用她的模板。
           Ps:有很多示例代碼沒同貼出來,是有原因D。現(xiàn)在編輯是使用FCKEditor,另外兩個(gè)Editor在我的機(jī)子上變成了白癡。出錯(cuò)、完全不能編輯。。。手上又沒有好的“XML到 HTML”的好工具。。所以沒把代碼貼上來。。詳情,可以看Webwork的Showcase。這東西太出彩了。:P

    posted on 2006-03-30 16:47 艾塵 閱讀(2491) 評(píng)論(9)  編輯  收藏 所屬分類: pick up

    評(píng)論

    # re: Webwork2.2.2 重返Client Validation 2006-05-29 16:35 wangxq

    我想請(qǐng)問一下目前的版本dtd似乎根本不能識(shí)別<ww:head/>。您是怎么加上去并使用的。  回復(fù)  更多評(píng)論   

    # re: Webwork2.2.2 重返Client Validation 2006-05-29 16:39 艾塵

    目前版本DTD?
    你只需要用2.2.2的標(biāo)簽定義文件就得了。webwork.tld
      回復(fù)  更多評(píng)論   

    # re: Webwork2.2.2 重返Client Validation 2006-05-29 16:51 wangxq

    我用的WW-EXAMPLE里面的webwork.tld,結(jié)果沒有關(guān)于<ww:head/>標(biāo)簽的定義,能不能幫幫我,我就差這口氣就可以活了。  回復(fù)  更多評(píng)論   

    # re: Webwork2.2.2 重返Client Validation 2006-05-29 16:53 艾塵

    請(qǐng)確定你的WW版本是2.2.2。不然沒戲演。  回復(fù)  更多評(píng)論   

    # re: Webwork2.2.2 重返Client Validation 2006-05-29 17:13 wangxq

    謝謝你,確實(shí)是這個(gè)原因,我大頭了。不好意思。因?yàn)楣俜骄W(wǎng)站上給的WW-EXAMPLE例子是在2.1.7的包,我拿這個(gè)例子的包去跑2.2.2的例子,肯定跑不動(dòng)了。而且經(jīng)過我試驗(yàn),若僅僅是只替換一下jar包的版本,整個(gè)環(huán)境就跑不起來了。請(qǐng)問你有沒有哪里看到關(guān)于2.2.2的例子提供下載學(xué)習(xí)的。再次感謝,好心的人。  回復(fù)  更多評(píng)論   

    # re: Webwork2.2.2 重返Client Validation 2006-05-29 17:24 艾塵

    官方的發(fā)行版就帶有很精彩的例子。 :)  回復(fù)  更多評(píng)論   

    # re: Webwork2.2.2 重返Client Validation 2006-06-06 09:17 Tin

    修改webwork的模版的確是煩人的事,不過還好那些ftl不算太復(fù)雜。xhtml theme絕對(duì)垃圾,一定要擴(kuò)展自己的simple。  回復(fù)  更多評(píng)論   

    # re: Webwork2.2.2 重返Client Validation 2006-09-15 15:40 HelloX

    注意這個(gè)帖子很久了,而且還加入了收藏夾,今天又看了一下,注意到樓主很耐心的幫助解答,再不回帖就說不過去了。頂一個(gè)。  回復(fù)  更多評(píng)論   

    # re: Webwork2.2.2 重返Client Validation 2006-10-29 11:34 HelloX

    求助! 在成功實(shí)現(xiàn)Webwork2.2.2的Client Validation后,出現(xiàn)了新的問題。
    出錯(cuò)的信息累積顯示在頁面上,驗(yàn)證一次,如果出錯(cuò)信息,再疊加在原來的出錯(cuò)信息上,很郁悶。求救  回復(fù)  更多評(píng)論   


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲国产精品无码av| 99蜜桃在线观看免费视频网站| 一二三四影视在线看片免费| 亚洲黄色免费电影| 91视频免费网站| 在线观看亚洲av每日更新| 一区免费在线观看| 国产又粗又长又硬免费视频| 亚洲自偷自偷在线成人网站传媒 | 四虎永久免费地址在线网站 | 亚洲三级高清免费| 疯狂做受xxxx高潮视频免费| 国产成人免费a在线资源| 亚洲熟妇无码一区二区三区导航| 午夜免费不卡毛片完整版| 亚洲国产精品日韩av不卡在线| 在线观看免费亚洲| 人禽伦免费交视频播放| 亚洲av手机在线观看| 亚洲JIZZJIZZ中国少妇中文| 国产天堂亚洲精品| 国产AV无码专区亚洲AV漫画| 久久精品免费视频观看| 亚洲狠狠ady亚洲精品大秀| 精品久久久久国产免费| 美女啪啪网站又黄又免费| 国产亚洲精品线观看动态图| 两个人看的www高清免费视频| 亚洲经典在线观看| 国产高清视频在线免费观看| 一级毛片aaaaaa视频免费看| 国产精品国产午夜免费福利看| 日韩精品无码永久免费网站| 亚洲高清国产拍精品26U| 国产日本一线在线观看免费| 黄色三级三级免费看| 亚洲精品白浆高清久久久久久| jizz免费在线影视观看网站| 国产成人免费a在线视频色戒| 国产无遮挡又黄又爽免费网站| 亚洲91精品麻豆国产系列在线 |