基于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的验证。
分享到:
相关推荐
### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...
- **表单和验证**:学习Struts2的表单标签和验证机制。 - **OGNL表达式语言**:熟练使用OGNL进行数据访问和操作。 - **插件使用**:探索Tiles、FreeMarker、i18n等插件的应用。 - **Spring集成**:了解如何将Struts2...
本课程笔记主要涵盖了Struts2的基础概念、核心功能及其工作流程。 首先,Struts2的处理流程是通过一系列的组件协作完成的,包括Filter Dispatcher(过滤器调度器)、Action、Interceptor(拦截器)和Result。当用户...
### Struts2学习笔记 #### 一、Struts2框架简介 Struts2是Apache软件基金会的一个开源项目,它是基于MVC(Model-View-Controller)设计模式的Web应用程序框架,用于Java EE平台上的Web应用开发。Struts2在Struts1...
这个"Struts2_学习笔记"包含了关于Struts2框架的深入学习资料,是理解并掌握Struts2核心概念和技术的关键。 Struts2的核心设计理念是模型-视图-控制器(MVC)架构模式,它简化了Java Web开发,将业务逻辑、数据展示...
这个"struts2 学习资料"包含了关于Struts2的基础到进阶的学习资源,可能是教程文档、示例代码或者是相关的学习笔记。 Struts2框架的核心特性包括: 1. **Action类**:在Struts2中,Action类是业务逻辑的载体,它...
通过深入学习和实践,你可以掌握Struts2的更多功能,如表单验证、文件上传下载、AJAX集成、Spring整合等,从而提高你的Java Web开发能力。同时,理解Struts2的工作原理对于后续学习其他MVC框架,如Spring MVC,也会...
这个版本的学习笔记主要集中在 Struts 框架的核心概念、架构和实际应用上。Struts 1 提供了一个MVC(模型-视图-控制器)设计模式的实现,帮助开发者更好地组织代码,提高可维护性和可扩展性。 在学习 Struts 1.3.8 ...
3. **Struts2与Struts1的对比** - **Action类**:在Struts1中,Action类是处理用户请求的核心,而在Struts2中,Action类更加灵活,支持注解配置,且可以继承自内置的ActionSupport类,提供了一些默认行为。 - **...
本资料包包含了关于Struts2的学习笔记和代码示例,旨在帮助初学者或进阶者深入理解并熟练掌握这一框架。 笔记部分可能涵盖以下知识点: 1. **Struts2基础**:介绍Struts2的基本概念,包括Action、Result、...
7. **表单验证**:Struts2提供了一种简单的机制进行表单验证,可以在Action类中进行字段级别的校验,或者使用XML文件进行全局验证规则的定义。 8. **国际化与本地化**:Struts2支持多语言环境,通过资源文件可以...
3. **拦截器(Interceptor)**:拦截器是Struts2的一个重要特性,它允许在Action执行前后插入自定义逻辑,例如日志记录、权限检查、数据验证等。通过链式调用,多个拦截器可以形成一个拦截器栈。 4. **OGNL(Object...
8. **输入验证与错误处理**:Struts2提供了强大的验证机制,通过ActionSupport类的validate()方法或自定义的validation.xml文件进行字段级和业务逻辑级别的验证。这确保了数据的完整性和安全性,减少了后端逻辑的...
于洋的笔记可能详细介绍了这些概念和实践,包括如何配置Action、编写Interceptor、使用OGNL表达式、集成Spring等,对于学习和理解Struts2框架有极大的帮助。如果你深入研究这些内容,将能够熟练掌握Struts2框架,...
Struts学习笔记...............263 Struts2.0..263 第一章 MVC Model.........................263 第二章 Struts Basic264 第三章 Action,Result & Struts2 Tag Library......................267 第四章 Data ...
### Java框架技术学习笔记 #### 一、框架技术概述 在现代软件开发中,使用框架可以极大地提高开发效率,减少重复工作。对于Java Web开发来说,Struts、Hibernate、Spring和Ajax是四个非常重要的框架。 - **SSH...
### jQuery、Struts2、Hibernate知识点总结 #### 一、jQuery框架的作用与学习目标 - **作用**: jQuery 是一个轻量级的 JavaScript 库,它极大地简化了 HTML 文档的操作、事件处理、动画以及 Ajax 交互。其核心理念...
**Struts2** 是一个基于MVC模式的Java Web应用框架,它继承了Struts1的优点并改进了许多不足之处,提供了更多的灵活性和强大的功能。Struts2的核心是一个拦截器栈,通过配置不同的拦截器来实现不同的业务逻辑处理。 ...