Struts2.0 默认提供了 simple,xhtml,css_xhtml,ajax 几个模板主题, 但对于 simple 不支持客户端的js验证.
对 simple 和xhtml 下的几个文件进行了修改,
在自己的项目下创建了个template/simple 目录,将修改后的几个文件 form.ftl, form-close.ftl,form-close-validate.ftl ,form-validate.ftl 放到该目录下,并将 xhtml下的 theme.properties 和 validation.js 文件也copy到该目录下,
修改 theme.properties 里面的内容为 parent = simple . 这样将来就可以 继续扩展simple模板主题 ,写自己的 ftl 文件.
并同时使得simple的主题具有了客户端验证的功能.
另外,有些人也可能遇到过 即使使用xhtml 主题 设置了 form中的 validate="true" 也不能进行客户端验证.
这里就要注意几个问题:
通过浏览 form-close-validate.ftl 这个文件
我们发现 <#if ((parameters.validate?default(false) == true) && (parameters.performValidation?default(false) == true))>
这句代码, 里面还有一个条件就是 parameters.performValidation?default(false) == true ,只有它也成立的时候,验证才有效.
通过跟踪代码 org.apache.struts2.components.Form.java 类 中有个
private void evaluateClientSideJsEnablement(String actionName, String namespace, String actionMethod) 方法,
里面有一句 ActionConfig actionConfig = runtimeConfiguration.getActionConfig(namespace, actionName);
如果 actionConfig 返回null 那么它的下面的执行拦截的处理 就不会执行,performValidation 还是为false.
所以我们关键是要正确的 设置 namespace, actionName 这两个参数, 反映到 struts form 标签 中就是要正确的设置 namespace 和action 两个参数, 其中action 不能 设置成 yourActionName.action 这中格式, 只能采用 yourActionName 或着yourActionName!methodName 或者 yourActionName!methodName.action 这种格式.
[align=left][/align]
分享到:
相关推荐
### Struts 2.0 详细配置解析 #### 一、Struts 2.0 简介 Struts 2.0 是一个基于 Java 的开源框架,用于开发 Web 应用程序。它继承了 Struts 1.x 的优点,并在架构上进行了改进,更加灵活且易于扩展。Struts 2.0 ...
Struts2.0引入了一系列新的表单标签,如、、等,它们提供了更丰富和灵活的表单元素,支持客户端验证和服务器端验证的无缝集成。 十三、Struts2.0与AJAX的融合 AJAX技术的兴起,为Web应用带来了全新的交互体验。...
Struts2.0是一个强大的Java Web应用程序框架,它基于Model-View-Controller(MVC)设计模式,旨在简化企业级应用的开发流程。这个压缩包包含的是Struts2.0的核心库和其他必要的JAR文件,这些文件对于创建一个基于...
Struts2.0是Java Web开发中非常流行的一个MVC框架,它基于Model-View-Controller(模型-视图-控制器)设计模式,为开发者提供了强大的功能和灵活的架构。这个压缩包包含了Struts2.0框架运行所需的所有jar包,使得...
总的来说,"Struts2.0培训课件"将涵盖Struts2.0框架的基础知识,包括其架构、配置、核心组件、数据绑定、验证、视图展现和性能优化等方面。通过深入学习,开发者能够熟练掌握这一框架,从而更高效地构建Java Web应用...
2. 拦截器:拦截器是Struts2.0的一大亮点,可以实现如日志记录、权限验证、事务管理等通用功能,提高了代码复用性。 3. 结果类型:Struts2.0支持多种结果类型,如Redirect、RedirectAction、Stream等,可以灵活地...
9. **表单验证**:Struts2.0提供了强大的表单验证功能,可以通过注解或XML配置实现客户端和服务器端的验证。 10. **国际化与本地化**:Struts2.0支持多语言环境,通过资源包(Properties文件)实现应用的国际化和...
7. **表单和验证**:学习如何创建Struts 2.0表单Bean,进行客户端和服务器端的数据验证。 8. **国际化与本地化**:实现应用的多语言支持,加载不同语言的资源文件。 9. **Struts 2.0标签库**:熟悉各种内置的JSP...
Interceptor是Struts2.0的一大创新,它允许开发者在Action调用前后插入拦截逻辑,如日志记录、权限验证等,增强了代码的可重用性。 Struts2.0中文帮助手册涵盖了以下几个主要知识点: 1. **配置与启动**:手册会...
### Struts2.0框架技术详解 #### 一、MVC思想 **1.1 Model I 模式和 Model II 模式** ##### 1.1.1 Model I 模式 在Model I模式下,整个Web应用几乎全部由JSP页面组成。JSP页面不仅接收处理客户端请求,还直接...
Struts 2.0、Hibernate 和 验证是构建企业级Java Web应用程序的常用技术栈。这个简单的例子可能是一个综合性的教程,展示了如何整合这三个框架来实现数据持久化、业务逻辑控制以及用户输入验证。 首先,让我们详细...
在Struts2.0中集成DWR,可以极大地提升用户界面的交互性和响应速度,特别是在表单验证这样的实时反馈场景中。 **Struts2.0框架介绍** Struts2.0是Struts1.x的升级版,它吸收了WebWork框架的优势,提供了更强大的...
Struts2.0是Java Web开发中的一个强大框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护性高、结构清晰的Web应用程序的工具。这个"struts2.0中文帮助"文档集合,无疑是对于正在学习或...
本教程的"www.qupan.com_2211281_struts2.0中文教程.chm"文件可能包含详细章节,如Action配置、OGNL使用、拦截器编写、结果类型定制、异常处理、标签库使用、整合Spring等,通过实例帮助读者掌握Struts 2.0的各个...
Struts2.0在Struts1的基础上进行了大量的改进和优化,它提供了更灵活的配置方式,更丰富的拦截器(Interceptor)机制,以及对Ajax和富客户端的支持。作为一款J2EE(Java 2 Enterprise Edition)平台上的开源框架,...
Struts2.0是Java Web开发中的一个强大MVC(Model-View-Controller)框架,由Apache软件基金会维护。这个框架极大地简化了Web应用程序的构建,提供了丰富的特性以支持高效、可扩展和易于维护的代码结构。以下是Struts...
Struts2.0是Apache软件基金会下的一个开源项目,它是Struts1的升级版,旨在提供更灵活、更强大的控制层结构。Struts2的核心组件包括Action、Result、Interceptor等。 1. **Action**:Action是业务逻辑处理的实体,...
Struts2.0是一个强大的Java Web开发框架,它极大地简化了MVC(Model-View-Controller)应用的构建。在Struts2中,标签库是其核心特性之一,提供了丰富的标签来帮助开发者更加便捷地创建动态网页。本文将深入探讨...
本教程重点介绍了Struts2.0中的类型转换、输入验证和拦截器,这些都是构建安全、健壮Web应用程序的关键组件。 **类型转换** 在传统的Web开发中,客户端发送的数据通常是字符串,而服务器端处理的是各种类型的数据...
通过Validator插件,Struts2.0支持强大的表单验证功能,可以在客户端和服务器端进行数据验证,确保输入的数据有效。 **10. JSON支持** Struts2.0支持JSON(JavaScript Object Notation)数据交换格式,使得与AJAX...