一:在Webwork中使用Ajax做驗證必須注意以下三點:
1、設置Dwr Servlet,使用dojo和ajax的主題。
2:在ajax的主題里面,dwr作為普通的驗證處理。dojo處理其它的驗證,如Widgets,XHR,Browser js events等。
3:建議使用標準的Webwork tags。
二:設置Dwr:
1:建立dwr.xml文件。該文件一般放在/web-inf/目錄下。
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
???<create creator="new" javascript="validator">
??????<param name="class" value="com.opensymphony.webwork.validators.DWRValidator"/>
???</create>
???<convert converter="bean" match="com.opensymphony.xwork.ValidationAwareSupport"/>
</allow>
<signatures>
<![CDATA[
import java.util.Map;
import com.opensymphony.webwork.validators.DWRValidator;
DWRValidator.doPost(String, String, Map<String, String>);
]]>
</signatures></dwr>
2:在Web.xml文件中加入對DwrServlet的定義:
<servlet>
???<servlet-name>dwr</servlet-name>
???<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
???<init-param>
??????<param-name>debug</param-name>
??????<param-value>true</param-value>
???</init-param>
</servlet>
<servlet-mapping>
???<servlet-name>dwr</servlet-name>
???<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
三:使用
1:建立jsp頁,使用<ww:head...>設置主題為ajax,該設置能將必要的dojo的代碼放在頁面中。
<html>
<head>
<title>Validation - Basic</title>
<ww:head theme="ajax"/>
</head>
<body>
<!-- 注意設置validate和theme -->
<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>
2:建立Action類:
public class QuizAction extends ActionSupport {
String name;
int age;
String answer;
publicString getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
publicint getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
publicString getAnswer() {
return answer;
}
public void setAnswer(String answer) {
this.answer = answer;
}
}
3:建立Validation.xml文件:
<!--
Add the following DOCTYPE declaration as first line of your XXX-validation.xml file:
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
-->
<validators>
<field name="name">
<field-validator type="requiredstring">
<message>You must enter a name</message>
</field-validator></field><field name="age">
<field-validator type="int">
<param name="min">13</param>
<param name="max">19</param>
<message>Only people ages 13 to 19 may take this quiz</message>
</field-validator>
</field>
</validators>
posted on 2006-10-21 23:43
不做浮躁的人 閱讀(1575)
評論(0) 編輯 收藏