注册信息界面: <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验证信息 <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" <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> 至于数据转换就是保留struts2的默认情况。struts2的ajax功能主要依赖于两个ajax框架:dojo 和 dwr 。其中dojo提供了丰富的组件库和页面效果,并且提供了大量的函数来简化ajax过程。 |
|