`
txf2004
  • 浏览: 7134167 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

OpenJWeb中使用webwork的校验框架的说明

阅读更多

WebWork中可以使用两种方式实现数据保存之前的校验,一种方式是针对每个action写一个校验的xml配置文件,例如对于BaseAction.java,就要在同目录下建立一个BaseAction-validation.xml,另外一种方式就是BaseAction实现Validateable接口,在validate方法中使用addFieldError(fieldName,message);构造字段-错误信息对照.

使用xml的方式有个问题就是:如果更改或添加校验规则需要重新装载部署xml文件,另外还有一个问题,OpenJWeb的BaseAction是一个处理所有实体类的action,换句话说,BaseAction是一个通用的,不是针对具体实体类的action(BaseAction中的增删改查相关方法的参数都是抽象实体类),,所以不适合将不同表字段的校验配置写到同一个BaseAction-validation.xml中,第二种方案是更好的选择,下面介绍实现方式:

BaseAction中的validate的方法中的代码片段:

list = CommonValidate.validate(this.container.getEntity(this.entityClassName),this.operate); if(list!=null&& list.size()>0) { String fieldName = ((LabelValueBean)list.get(0)).getValue(); String message = ((LabelValueBean)list.get(0)).getLabel(); addFieldError(fieldName,message); //返回输入页面的时候填充下拉列表字段 map = JspBuffer.getListMaps(this.entityClassName, true, request); request.setAttribute("map",map); }

CommonValidate类是读取当前实体类的字段配置信息,也就是从字段基本信息表eas_meta_column中遍历字段,

因为这个表中有是否可空,是否唯一的配置,所以当比较当前实体类当前字段如果不符合eas_meta_column中定义的

约束,比如非空约束或唯一值约束,则CommonValidate增加一个LabelValueBean对象到list中,此LabelValueBean包含了错误信息和对应的字段变量名(这个变量名与JSP页面中的html元素是对应的),CommonValidate从eas_meta_column表中遍历当前实体类对应数据库表的信息后,将list返回,由BaseAction.validate方法取出list中的内容,调用addFieldError(fieldName,message);这样就完成了校验,在CommonValidate可以扩展更多的校验逻辑,比如字段的数据格式的有效性校验,取值范围的校验等.

在前端的JSP页面中不需要增加任何对错误信息的输出的处理,如果你希望错误提示信息是红色的而不是默认的黑色,可以在<head></head>之间增加:

<style type="text/css"> .errorMessage { color: red; }

webwork给出了这样一个灵活方便的校验框架,为我们自己的平台设计校验框架提供了非常好的基础,下图是当非空字段没填数据就保存的时候,页面输出红色的错误提示信息,这个可比抛出异常页面友好多了,而且页面也不用任何校验代码和错误信息输出代码,全部在控制层实现,多方便!

分享到:
评论

相关推荐

    webwork_框架文档

    在文件列表中提到的"webwork_框架文档"可能包含以下内容:框架的安装指南、配置说明、API参考、最佳实践、示例代码以及常见问题解答等。这些文档将帮助开发者了解如何设置WebWork环境,如何编写Action类,如何配置...

    webwork验证框架

    WebWork验证框架是一种用于Java Web应用的验证工具,它整合在XWork核心库中,主要目的是在Action执行前对用户输入的数据进行有效性检查。WebWork验证框架提供了多种灵活且强大的特性,使得数据验证过程变得更加简单...

    Webwork Web开发框架

    ### WebWork Web开发框架知识点详解 #### 一、WebWork框架概述 - **定义与特点**:WebWork是一个由OpenSymphony组织开发的MVC(Model-View-Controller)架构的J2EE Web开发框架。它专注于组件化设计和代码重用,...

    Webwork2框架的开发指南资源文件

    Webwork2框架是一款基于Java的企业级MVC(Model-View-Controller)框架,它在早期的Web应用开发中被广泛使用。本资源包是针对Webwork2框架的开发指南,包含了一系列的学习材料,旨在帮助开发者深入理解和高效使用该...

    spring+ibatis+webwork框架搭配

    虽然WebWork框架已经被Struts2所取代,但在某些遗留系统中仍然被广泛使用。WebWork的核心是Action接口,它处理用户请求并返回结果。 **配置步骤**包括: 1. **配置struts-config.xml**:定义Action和拦截器。 2. **...

    WebWork docs 2 -- webWork 详细的说明文档

    WebWork docs 2 是一套完整的WebWork框架的详细说明文档,包含了开发者在使用WebWork时可能遇到的所有问题的解答。 这套文档涵盖了以下几个主要的知识点: 1. **WebWork基础**:WebWork的核心概念,如Action、...

    WebWork2.0讲解说明

    WebWork2.0是一款基于Java的企业级Web应用框架,它为开发者提供了强大的MVC(Model-View-Controller)架构支持,旨在简化Web应用程序的开发流程,提高代码的可维护性和可扩展性。本讲解将围绕WebWork2.0的核心概念、...

    webwork+spring整合例子 内带使用说明 以及webwork文档(中文)

    WebWork和Spring是两个在Java Web开发中广泛使用的框架,它们各自有着独特的优点。WebWork以其强大的动作映射和强大的表单验证而著名,而Spring则以其依赖注入和全面的企业级服务支持闻名。将这两个框架整合在一起,...

    spring与webwork框架集成

    - **配置 xwork.xml**:在 Action 配置中使用 `&lt;external-ref&gt;` 指向 Spring 中的 Bean,并在 `&lt;package&gt;` 中设置外部引用解析器。 - **定义拦截器**:添加 `ExternalReferencesInterceptor` 拦截器到 WebWork 的...

    webwork中文 webwork中文参考 webwork中文资料 webwork学习资料

    尽管随着时间的发展,新的框架如Spring MVC和Play Framework等逐渐崭露头角,但WebWork依然在许多现有项目中发挥着重要作用,特别是在那些重视代码质量和开发效率的企业中。对于希望深入理解MVC架构和Java Web开发的...

    WebWork中文文档

    从给定的文件信息来看,标题“WebWork中文文档”和描述“WebWork完全自学!...通过上述步骤,你可以逐步建立起对WebWork框架的全面认识,从而能够在实际项目中有效地运用这一框架,提升Web应用程序的开发效率和质量。

    WebWork docs -- webWork 详细的说明文档

    webWork 详细的说明文档, 由于我的上传大小有限, 这个好东西我只能是分两次上传了, 下载的人可能要辛苦一些了, 不过这些都是值得的, 将&lt;&lt;WebWork docs 2 -- webWork 详细的说明文档&gt;&gt; 也一同下载下来, 下载后两个...

    webwork中文文档

    WebWork是一个开源的Java Web应用开发框架,它在2000年初非常流行,是Struts框架的一个替代方案,尤其是在那些需要更灵活、更强大的MVC(Model-View-Controller)架构的应用场景中。 ### WebWork框架的核心概念 ...

    WebWork标签使用说明

    chm格式的webwork标签帮助文档,英文的

    使用webwork上传excel并导入数据库

    在IT行业中,WebWork是一个基于Java的MVC(模型-视图-控制器)框架,它提供了灵活的事件驱动模型和强大的Action支持,用于构建企业级Web应用。本话题聚焦于如何利用WebWork来处理Excel文件的上传,并将其数据导入到...

    webwork中上传文件

    在本例中,我们关注的是使用WebWork框架在Java环境中实现文件上传。WebWork是一个轻量级的MVC(Model-View-Controller)框架,它提供了处理HTTP请求和响应的强大工具,包括文件上传。 首先,我们需要了解WebWork的...

    webwork2.17中文使用手册

    webwork2.17中文使用手册

    webwork中文参考手册

    这个“WebWork中文参考手册”显然是针对想要学习和使用WebWork框架的初学者准备的资源。手册可能包含了框架的基本概念、核心组件、配置、控制器、模型、视图、动作、拦截器以及与Spring等其他框架的集成等内容。 在...

    webwork资源

    WebWork的特点之一是它的灵活性和简单性,这使得它在众多的Java Web框架中独树一帜。例如,WebWork提供了ActionSupport类,作为Action的基类,提供了错误消息处理、国际化支持等功能。ActionContext是另一个重要的...

    搭建WEBWORK+SPRING+HIBERNATE框架

    【搭建WEBWORK+SPRING+HIBERNATE框架】是一个集成三大流行开源框架的过程,用于构建高效、可扩展的企业级Web应用。以下是详细的步骤和知识点: 1. **开发环境配置**: - 使用MyEclipse 5.5.1 GA作为开发工具,它...

Global site tag (gtag.js) - Google Analytics