Struts2学习笔记3 ――基于AJAX的表单验证

    技术2022-05-11  63

    Struts2学习笔记3 ――基于AJAX的表单验证

    基于AJAX的表单验证需要先安装DWR,在http://getahead.ltd.uk/dwr/download上下载DWR 2.0 RC 2,将dwr.jar拷贝到WEB-INF/lib目录下

    1 .修改 web.xml ,另入 DWR 支持: < servlet >          < servlet-name > dwr </ servlet-name >          < servlet-class >             org.directwebremoting.servlet.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 > 2 .在 WEB-INF 目录下新建 dwr.xml 文件: <? xml version="1.0" encoding="UTF-8" ?> <! DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.ltd.uk/dwr/dwr20.dtd" > < dwr >      < allow >          < create  javascript ="validator"  creator ="new" >              < 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 > 3 .在 login.jsp 中添加 AJAX 验证支持,修改后的 login.jsp 内容如下: <% @ page language="java" import="java.util.*" pageEncoding="UTF-8" %> <% @taglib prefix="s" uri="/struts-tags" %> < html >      < head >          < s:head  theme ="ajax"   />          < title > 登录页面 </ title >      </ head >      < body >          < s:form  action ="login"  method ="post"  theme ="ajax" >              < s:textfield  label ="用户名"  name ="username"   />              < s:textfield  label ="密码"  name ="password"   />              < s:submit  value ="登录"   />          </ s:form >      </ body > </ html >

    注意上面的<s:head theme="ajax" />,它为页面使用AJAX验证准备相应的Scripts代码。

        4.配置validation.xml:

    <? xml version="1.0" encoding="UTF-8" ?> <! 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 ="username" >          < field-validator  type ="requiredstring" >              < message > 请输入用户名 </ message >          </ field-validator >      </ field >      < field  name ="password" >          < field-validator  type ="requiredstring" >              < message > 请输入密码 </ message >          </ field-validator >          < field-validator  type ="stringlength" >              < param  name ="minLength" > 6 </ param >              < param  name ="maxLength" > 10 </ param >              < message > 密码长度只能在 ${minLength} 和 ${maxLength} 之间. </ message >          </ field-validator >      </ field > </ validators >

    这样就为JSP页面提供了基于AJAX的验证。


    最新回复(0)