基于AJAX的表单验证需要先安装DWR,在http://getahead.ltd.uk/dwr/download上下载DWR 2.0 RC 2,将dwr.jar拷贝到WEB-INF/lib目录下
1 .修改 web.xml ,另入 DWR 支持:
xml 代码
- <servlet>
- <servlet-name>dwrservlet-name>
- <servlet-class>
- org.directwebremoting.servlet.DwrServlet
- servlet-class>
- <init-param>
- <param-name>debugparam-name>
- <param-value>trueparam-value>
- init-param>
- servlet>
- <servlet-mapping>
- <servlet-name>dwrservlet-name>
- <url-pattern>/dwr/*url-pattern>
- servlet-mapping>
2 .在 WEB-INF 目录下新建 dwr.xml 文件:
xml 代码
- xml version="1.0" encoding="UTF-8"?>
- "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>
- signatures>
- dwr>
3 .在 login.jsp 中添加 AJAX 验证支持,修改后的 login.jsp 内容如下:
java 代码
- 1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- 2. <%@taglib prefix="s" uri="/struts-tags"%>
- 3.
- 4.
- 5. "ajax" />
- 6.
- 7.
- 8.
- 9. "login" method="post" theme="ajax">
- 10. "用户名" name="username" />
- 11. "密码" name="password" />
- 12. "登录" />
- 13.
- 14.
- 15.
注意上面的<s:head theme="ajax" />,它为页面使用AJAX验证准备相应的Scripts代码。<o:p></o:p>
4.配置validation.xml:
xml 代码
- xml version="1.0" encoding="UTF-8"?>
- "-//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">6param>
- <param name="maxLength">10param>
- <message>密码长度只能在 ${minLength} 和 ${maxLength} 之间.message>
- field-validator>
- field>
- validators>
这样就为JSP页面提供了基于AJAX的验证。