webwork中通過dwr來實作頁面中的form驗證,這種ajax的驗證方式相對于其他javascript的用戶端驗證方式的好處就是,已經變成了webwork中的一個tag,可重用性比較強,一旦配置成功,以後可多次使用,減低了程式員的重複勞動。缺點就是頁面的格式不能随意調整。下面将具體的過程叙述如下(根據showcase為例):
一、配置web.xml
在web.xml中添加對dwr的支援
xml 代碼
- <servlet>
- <servlet-name>dwrservlet-name>
- <servlet-class>uk.ltd.getahead.dwr.DWRServletservlet-class>
- <init-param>
- <param-name>debugparam-name>
- <param-value>trueparam-value>
- init-param>
- servlet>
- <servlet-mapping>
- <servlet-name>dwrservlet-name>
- <url-pattern>/dwr
- // START SNIPPET: quizAction
- public class QuizAction extends ActionSupport {
- String name;
- int age;
- String answer;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- public String getAnswer() {
- return answer;
- }
- public void setAnswer(String answer) {
- this.answer = answer;
- }
- }
- // END SNIPPET: quizAction
這是一個最簡單的bean,裡面包括了頁面上form中的相關元素
四、建立action的驗證檔案(.xml)
xml 代碼
- >
- <validators>
- <field name="name">
- <field-validator type="requiredstring">
- <message>You must enter a namemessage>
- field-validator>
- field>
- <field name="age">
- <field-validator type="int">
- <param name="min">13param>
- <param name="max">19param>
- <message>Only people ages 13 to 19 may take this quizmessage>
- field-validator>
- field>
- validators>
驗證檔案按照基本的方法建立就可以,同時将檔案名稱命名為XXXbean-validation.xml
五、建立jsp檔案
最後建立兩個jsp檔案:
xml 代碼
- <html>
- <head>
- <title>Validation - Basic</title>
- <ww:head theme="ajax"/>
- </head>
- <body>
- <ww:form method="post" validate="true" theme="ajax">
- <ww:textfield label="Name" name="name"/>
- <ww:textfield label="Age" name="age"/>
- <ww:textfield label="Favorite color" name="answer"/>
- <ww:submit/>
- </ww:form>
- </body>
- </html>