Struts2.0 默认提供了 simple,xhtml,css_xhtml,ajax 几个模板主题, 但对于 simple 不支持客户端的js验证.
参考 http://jamsa.iteye.com/blog/40463 上的关于 webwork的客户端验证,对 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 <s:form><s:form>标签 <s:form>中就是要正确的设置 namespace 和</s:form></s:form></s:form>action两个参数, 其中action 不能 设置成 yourActionName.action 这中格式, 只能采用 yourActionName 或着yourActionName!methodName 或者 yourActionName!methodName.action 这种格式.
<s:form><s:form>
附件里是 修改的 的几个模板文件
</s:form></s:form>
分享到:
相关推荐
### 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包,使得...
2. 拦截器:拦截器是Struts2.0的一大亮点,可以实现如日志记录、权限验证、事务管理等通用功能,提高了代码复用性。 3. 结果类型:Struts2.0支持多种结果类型,如Redirect、RedirectAction、Stream等,可以灵活地...
总的来说,"Struts2.0培训课件"将涵盖Struts2.0框架的基础知识,包括其架构、配置、核心组件、数据绑定、验证、视图展现和性能优化等方面。通过深入学习,开发者能够熟练掌握这一框架,从而更高效地构建Java Web应用...
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框架的优势,提供了更强大的...
本教程的"www.qupan.com_2211281_struts2.0中文教程.chm"文件可能包含详细章节,如Action配置、OGNL使用、拦截器编写、结果类型定制、异常处理、标签库使用、整合Spring等,通过实例帮助读者掌握Struts 2.0的各个...
Struts2.0是Java Web开发中的一个强大框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护性高、结构清晰的Web应用程序的工具。这个"struts2.0中文帮助"文档集合,无疑是对于正在学习或...
Struts2.0在Struts1的基础上进行了大量的改进和优化,它提供了更灵活的配置方式,更丰富的拦截器(Interceptor)机制,以及对Ajax和富客户端的支持。作为一款J2EE(Java 2 Enterprise Edition)平台上的开源框架,...
1. **MVC设计模式**:Struts2.0遵循MVC架构,将业务逻辑(Model)、用户界面(View)和控制器(Controller)分离,使得开发人员可以独立地修改各个部分,提高了代码的可维护性。 2. **Action类**:在Struts2中,...
Struts2.0是Apache软件基金会下的一个开源项目,它是Struts1的升级版,旨在提供更灵活、更强大的控制层结构。Struts2的核心组件包括Action、Result、Interceptor等。 1. **Action**:Action是业务逻辑处理的实体,...
1. 表单验证:`s:form`标签可以配合Struts2的验证框架,自动处理客户端和服务器端的验证。 2. 数据绑定:`s:property`标签可以直接显示Action中的属性值,无需手动获取和设置。 3. 动态渲染:`s:iterator`标签可以...
1. **强大的动作(Action)框架**:Struts2的动作类是业务逻辑的主要载体,它接收来自客户端的请求,处理业务逻辑,并决定下一步的流向。 2. **拦截器(Interceptor)机制**:这是Struts2的一个显著特点,它允许...
通过Validator插件,Struts2.0支持强大的表单验证功能,可以在客户端和服务器端进行数据验证,确保输入的数据有效。 **10. JSON支持** Struts2.0支持JSON(JavaScript Object Notation)数据交换格式,使得与AJAX...