您的位置:首页 > 编程语言 > Java开发

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

2007-02-07 20:07 519 查看
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的验证。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: