基于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>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 代码
- 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">6<!---->param>
- <param name="maxLength">10<!---->param>
- <message>密码长度只能在 ${minLength} 和 ${maxLength} 之间.<!---->message>
- <!---->field-validator>
- <!---->field>
- <!---->validators>
这样就为JSP页面提供了基于AJAX的验证。
分享到:
相关推荐
- **异步表单提交**:Struts2允许以异步的方式提交表单数据,这减少了页面的重载次数,提高了用户体验。 - **事件模型**:Struts2提供了类似于发布/订阅(pub-sub)的事件模型,使得处理多组件间的交互变得更加灵活...
2. **jQuery validator验证框架**:jQuery validator是jQuery的一个插件,用于前端表单验证。它能够轻松地对用户输入的数据进行有效性检查,避免无效数据提交到服务器,提高用户体验。项目中使用该框架来确保用户在...
- 使用ActionSupport和Validator框架进行数据验证。 - 遵循单一职责原则,避免Action类过于庞大。 以上内容涵盖了Struts的基础知识,但实际应用中还需要结合其他技术,如Spring、Hibernate等进行整合,以实现更...
`struts-config.xml`是Struts1中的配置文件,用于定义Action、Form Bean、Result、Validator规则等。虽然在Struts2中被struts.xml或struts.properties取代,但了解其结构和作用有助于理解MVC框架的基本配置原理。 *...
2. **配置详解**:书中详细阐述了Struts的配置文件(struts-config.xml),包括ActionMapping、FormBeans、ActionForward、PlugIn等核心元素的配置方法,以及如何使用XML来组织应用程序的结构。 3. **动作(Actions...
10. `commons-validator.jar`:提供了校验框架,用于表单验证。 11. `ezmorph.jar`:对象转换库,用于数据类型的转换。 12. `dwr.jar`:直接Web远程调用框架,支持AJAX远程调用。 这些Jar包的组合使用,使得SSH框架...
- **作用**:Commons Validator提供了一个基于XML的验证框架,用于定义和执行表单数据的验证规则,常用于Struts框架中的表单验证。 **15. dwr-1.1.1.jar** - **作用**:Direct Web Remoting(DWR)是一个Web远程...