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的验证。
基于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的验证。
相关文章推荐
- 基于PHP+Ajax实现表单验证的详解
- Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
- 一个可以基于Ajax提交的表单验证
- 基于PHP+Ajax实现表单验证的详解
- 基于Ajax,异步表单验证,实现有一条件不满足不能提交
- 基于AJAX的表单验证--clanY’sBlog
- 基于PHP与Ajax的表单验证功能
- 基于ASP.NET AJAX框架实现表单验证编程原理
- 基于PHP+Ajax实现表单验证的详解
- 一个可以基于Ajax提交的表单验证
- JS通用表单验证函数,基于javascript正则表达式http://www.ccvita.com/60.html
- struts2中使用ajax请求验证表单
- SharePoint 2013自定义Providers在基于表单的身份验证(Forms-Based-Authentication)中的应用
- 在Tomcat中采用基于表单的安全验证
- php 基于表单密码验证与HTTP验证用法
- 正则表达式基本语法及表单验证操作详解【基于JS】
- jQuery html5Validate基于HTML5表单验证插件
- Struts2中ajax结合action实现表单时时验证
- 提交表单时,进行ajax验证
- 配置SharePoint Foundation 2010基于表单的验证支持