注冊信息界面:
<head>
<s:head theme="ajax"/>
</head>
<s:form. action="regist" theme="ajax" validate="true">
<s:textfield name="name" label="姓名" ></s:textfield>
<s:textfield name="pass" label="密碼"></s:textfield>
<s:textfield name="age" label="年齡"></s:textfield>
<s:textfield name="birth" label="生日"></s:textfield>
<s:submit value="提交"></s:submit>
</s:form>
struts.xml :
<struts>
<package name="struts2" extends="struts-default">
<action name="regist" class="com.struts2.action.RegisterAction">
<result name="input">/index.jsp</result>
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
action:
public class RegisterAction extends ActionSupport {
private String name;
private String pass;
private int age;
private Date birth;
//getter和setter
}
RegisterAction-validation.xml:xml驗(yàn)證信息
<validators>
<field name="name">
<field-validator type="requiredstring">
<param name="trim"></param>
<message>姓名不能為空</message>
</field-validator>
</field>
<field name="pass">
<field-validator type="required">
<message>密碼不能為空</message>
</field-validator>
<field-validator type="stringlength">
<param name="maxLength">10</param>
<param name="minLength">6</param>
<message>密碼必須在${minLength}和${maxLength}之間</message>
</field-validator>
</field>
<field name="age">
<field-validator type="required">
<message>年齡不能為空</message>
</field-validator>
<field-validator type="int">
<param name="max">150</param>
<param name="min">1</param>
<message>年齡必須在${max}和${min}之間</message>
</field-validator>
</field>
<field name="birth">
<field-validator type="required">
<message>出生日期不能為空</message>
</field-validator>
<field-validator type="date">
<param name="max">2050-05-15</param>
<param name="min">1900-01-01</param>
<message>年齡必須在${max}和${min}</message>
</field-validator>
</field>
</validators>
dwr.xml配置: 固定不變
<!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="org.apache.struts2.validators.DWRValidator"/>
</create>
<convert converter="bean" match="com.opensymphony.xwork2.ValidationAwareSupport"/>
</allow>
<signatures>
<![CDATA[
import java.util.Map;
import org.apache.struts2.validators.DWRValidator;
DWRValidator.doPost(String, String, Map<String, String>);
]]>
</signatures>
</dwr>
web.xml配置
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<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>
至于數(shù)據(jù)轉(zhuǎn)換就是保留struts2的默認(rèn)情況。struts2的ajax功能主要依賴于兩個ajax框架:dojo 和 dwr 。其中dojo提供了豐富的組件庫和頁面效果,并且提供了大量的函數(shù)來簡化ajax過程。