日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

java,j2ee資料:Webwork2.2.2 重返Client Validation

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

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

       二、配置Xwork.xml,保證攔截器棧里有Validation的攔截器
       三、編寫Jsp(VM或FTL)。這里有幾個需要注意的地方。
       1.在Jsp加上一個Head標簽,<ww:head/>的結(jié)果是生成兩個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"/>
主要是獲取顯示錯誤是的樣式。
       2、使用<ww:form>,很遺憾我們只能夠用Webwork的UI標簽,這樣才能使用到她的客戶端驗證機制。在這里要抱怨一下。。<ww:form>的標簽是挺方便,但是在特定的場合,我們必須使用自已的樣式和風格的布局。而Webwork默認的XHTML主題的標簽會把布局搞亂。當然,我可以使用Simple主題的。但是在需要客戶端驗證的時候,Simple主題是行不通的。也就是說要求主題必須是XHTML以上。?;蛘咦远x的主題(自已提供錯誤信息報告功能)。呵。沒辦法,先將就著用XHTML吧。
       在<ww:form>的標簽里使用namespace 及Action屬性。如果你的Action是/foo/bar/new.action那么,你必須這樣寫:
       <ww:form namespace="/foo/bar" action="new"  validate="true"/>
validate="true"一句將會在客戶端生成一句:
   <script src="/bean/webwork/xhtml/validation.js"></script>
如果你這樣寫:
       <ww:form action="/foo/bar/new.action" validate="true"/>,你將得不到客戶端驗證。要注意,這個細節(jié)不容忽視。我被這個小問題搞大頭了。后來查文檔的時候才知道Webwork已經(jīng)提醒我們要像上一種寫法那樣寫。因為她要知道哪個名字空間下的哪個Action需要被驗證!看吧。這是心急的錯。不看文檔后果就自負。
       以上兩種寫法,在頁面上生成Js的結(jié)果是不一樣的。第一種寫法會在頁面上生成相應的驗證規(guī)則。第二種寫法生成的Js,只是簡單清楚報錯信息然后提交請求到服務器,由服務器來驗證。

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

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多