天天看點

關于webwork中使用dwr的form驗證

webwork中通過dwr來實作頁面中的form驗證,這種ajax的驗證方式相對于其他javascript的用戶端驗證方式的好處就是,已經變成了webwork中的一個tag,可重用性比較強,一旦配置成功,以後可多次使用,減低了程式員的重複勞動。缺點就是頁面的格式不能随意調整。下面将具體的過程叙述如下(根據showcase為例):

一、配置web.xml

在web.xml中添加對dwr的支援

xml 代碼

  1.     <servlet>  
  2.         <servlet-name>dwrservlet-name>  
  3.         <servlet-class>uk.ltd.getahead.dwr.DWRServletservlet-class>  
  4.         <init-param>  
  5.             <param-name>debugparam-name>  
  6.             <param-value>trueparam-value>  
  7.         init-param>  
  8.     servlet>  
  9.     <servlet-mapping>  
  10.         <servlet-name>dwrservlet-name>  
  11.         <url-pattern>/dwr  
  12. // START SNIPPET: quizAction    
  13. public class QuizAction extends ActionSupport {   
  14.     String name;   
  15.     int age;   
  16.     String answer;   
  17.     public String getName() {   
  18.         return name;   
  19.     }   
  20.     public void setName(String name) {   
  21.         this.name = name;   
  22.     }   
  23.     public int getAge() {   
  24.         return age;   
  25.     }   
  26.     public void setAge(int age) {   
  27.         this.age = age;   
  28.     }   
  29.     public String getAnswer() {   
  30.         return answer;   
  31.     }   
  32.     public void setAnswer(String answer) {   
  33.         this.answer = answer;   
  34.     }   
  35. }   
  36. // END SNIPPET: quizAction  

這是一個最簡單的bean,裡面包括了頁面上form中的相關元素

四、建立action的驗證檔案(.xml)

xml 代碼

  1. >  
  2. <validators>  
  3.     <field name="name">  
  4.         <field-validator type="requiredstring">  
  5.             <message>You must enter a namemessage>  
  6.         field-validator>  
  7.     field>  
  8.     <field name="age">  
  9.         <field-validator type="int">  
  10.             <param name="min">13param>  
  11.             <param name="max">19param>  
  12.             <message>Only people ages 13 to 19 may take this quizmessage>  
  13.         field-validator>  
  14.     field>  
  15. validators>  

驗證檔案按照基本的方法建立就可以,同時将檔案名稱命名為XXXbean-validation.xml

五、建立jsp檔案

最後建立兩個jsp檔案:

xml 代碼

  1. <html>  
  2. <head>  
  3.     <title>Validation - Basic</title>  
  4.     <ww:head theme="ajax"/>  
  5. </head>  
  6. <body>  
  7. <ww:form method="post" validate="true" theme="ajax">  
  8.     <ww:textfield label="Name" name="name"/>  
  9.     <ww:textfield label="Age" name="age"/>  
  10.     <ww:textfield label="Favorite color" name="answer"/>  
  11.     <ww:submit/>  
  12. </ww:form>  
  13. </body>  
  14. </html>  

繼續閱讀