分享

struts2的ajax支持,ajax校验

 pengx 2008-09-23

注册信息界面:

  <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"

"http://www./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>

至于数据转换就是保留struts2的默认情况。struts2的ajax功能主要依赖于两个ajax框架:dojo 和 dwr 。其中dojo提供了丰富的组件库和页面效果,并且提供了大量的函数来简化ajax过程。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约