`
我想我是海
  • 浏览: 214858 次
社区版块
存档分类
最新评论

Webwork2.2.2 重返Client Validation

阅读更多
        自Webwork2.2发布以后,Webwork的验证机制就全部改由Ajax验证。验证的原理是一个需要验证的表单域在onblur时发送一次请求到服务器端进行验证,然后实时提醒。虽然这样达到验证目的,但在我看来,这恶心死了。如果我有一个表单几十个域需要验证,我在各个域之间切换的话,我的服务器还不累得够呛?可怜原来有的客户端验证功能没了。。我只好手写Javascript了。。
       到了Webwork2.2.2这个版本,有个好消息来了。Webwork重新支持客户端验证。于是马上抢先试了试。

       客户端验证的例子可见Webwork自还的例子“showcase”。使用客户端验证大体上跟以前的服务器端验证相似,只是多了一些步骤。完整的有以下几个步骤:
       一、编写XXXAction-alias-validation.xml--验证配置文件。文件放在需要验证的Action类同一目录下,alias是可选项,如果有几个Action使用了同一个Action类。而你想对其中一个Action进行验证,那么alias就是那个Action的名字。如:PersonAction.java,被editPerson,savePerson,deletePerson等Action使用到,而仅需要对savePerson这个动作来验证时,配置文件名字就是:PersonAction-savePerson-validation.xml。Webwork支持的客户端验证类型有:
  • required validator
  • requiredstring validator
  • stringlength validator
  • regex validator
  • email validator
  • url validator
  • int validator
  • double validator

       二、配置Xwork.xml,保证拦截器栈里有Validation的拦截器
       三、编写Jsp(VM或FTL)。这里有几个需要注意的地方。
       1.在Jsp加上一个Head标签,<ww:head/>的结果是生成两个Css样式的链接:
<link rel="stylesheet" href="/bean/webwork/xhtml/styles.css" type="text/css"/>
<link rel="stylesheet" href="/bean/webwork/jscalendar/calendar-blue.css" type="text/css"/>
主要是获取显示错误是的样式。
       2、使用<ww:form>,很遗憾我们只能够用Webwork的UI标签,这样才能使用到她的客户端验证机制。在这里要抱怨一下。。<ww:form>的标签是挺方便,但是在特定的场合,我们必须使用自已的样式和风格的布局。而Webwork默认的XHTML主题的标签会把布局搞乱。当然,我可以使用Simple主题的。但是在需要客户端验证的时候,Simple主题是行不通的。也就是说要求主题必须是XHTML以上。。或者自定义的主题(自已提供错误信息报告功能)。呵。没办法,先将就着用XHTML吧。
       在<ww:form>的标签里使用namespace 及Action属性。如果你的Action是/foo/bar/new.action那么,你必须这样写:
       <ww:form namespace="/foo/bar" action="new"  validate="true"/>
validate="true"一句将会在客户端生成一句:
   <script src="/bean/webwork/xhtml/validation.js"></script>
如果你这样写:
       <ww:form action="/foo/bar/new.action" validate="true"/>,你将得不到客户端验证。要注意,这个细节不容忽视。我被这个小问题搞大头了。后来查文档的时候才知道Webwork已经提醒我们要像上一种写法那样写。因为她要知道哪个名字空间下的哪个Action需要被验证!看吧。这是心急的错。不看文档后果就自负。
       以上两种写法,在页面上生成Js的结果是不一样的。第一种写法会在页面上生成相应的验证规则。第二种写法生成的Js,只是简单清楚报错信息然后提交请求到服务器,由服务器来验证。

       只需要这三步,Webwork2.2.2的客户端验证功能就算是使用了。感觉还不错。唯一纳闷的还是Webwork强制我什么使用她的模板。
       Ps:有很多示例代码没同贴出来,是有原因D。现在编辑是使用FCKEditor,另外两个Editor在我的机子上变成了白痴。出错、完全不能编辑。。。手上又没有好的“XML到 HTML”的好工具。。所以没把代码贴上来。。详情,可以看Webwork的Showcase。这东西太出彩了。:P
分享到:
评论
2 楼 killua0001 2007-02-01  
为啥配了验证以后,会找不到action,jsp直接白板?
1 楼 joyjiang 2006-12-17  
ww的验证感觉没有struts的好用呢,配置了一半天,结果客户端还要这么多步骤的,我觉得增加了很多不必要的麻烦。

相关推荐

    BizFocus5.0-WebWork2.2.2技术培训

    是有关xwork培训的,BizFocus5.0是东方易维公司开发的一款优秀的中间件技术平台。

    webwork-2.2.2和xwork1.1.3的jar包and源代码

    这个压缩包包含的文件是WebWork 2.2.2和XWork 1.1.3版本的JAR包以及相关的源代码,这对于开发者来说是一份宝贵的参考资料。 WebWork是一个轻量级的MVC框架,它通过使用动作(Action)和结果(Result)的概念来处理...

    WebWork2.2入门

    **WebWork 2.2 入门指南** WebWork 是一款基于 Java 的开源 Web 应用框架,它在 MVC(模型-视图-控制器)架构上构建,为开发者提供了强大的功能,包括动作映射、数据绑定、异常处理等。本文将深入浅出地介绍如何...

    webwork-2.2.2

    webwork的包。webwork开发者不可缺少的

    webwork-reference-2.2.2.pdf

    从给定的文件信息“webwork-reference-2.2.2.pdf”中,我们可以提炼出一系列与WebWork框架相关的IT知识点。以下是对这些知识点的详细解释: ### WebWork框架概览 WebWork是一个用于Java Web应用程序开发的轻量级...

    WebWork深入浅出

    WebWork2.2.2的安装过程相对简单,主要包括下载WebWork2.2.2,搭建Web应用,将所需jar文件放入WEB-INF\lib目录,并在Web.xml中配置FilterDispatcher过滤器。 WebWork入门阶段,开发者需要了解如何配置Web应用以使用...

    webwork深入浅出学习资料

    其最新版本WebWork 2.2.2,在功能上更加强大,且已发展成为Xwork和WebWork两个独立项目。Xwork主要负责提供核心功能,如前端拦截器、表单属性验证、类型转换、表达式语言(OGNL)、IoC容器等,而WebWork则专注于处理...

    webwork+spring+hibernaet

    WebWork 2.2.2是较早的一个版本,尽管现在已经被Struts2所取代,但在当时它是一个非常流行的选择,因为它有优秀的异常处理机制和强大的国际化支持。 **Spring** 是一个全面的企业级应用开发框架,不仅提供了IOC...

    webwork-1.4-src.zip_webwork_webwork s_webwork.zip_webwork1.4.zip

    WebWork 是一个基于Java的开源MVC(Model-View-Controller)框架,它主要用于构建企业级的Web应用程序。WebWork1.4是该框架的一个较早版本,它为开发者提供了强大的功能,包括动作映射、数据绑定、异常处理、国际化...

    webwork2开发指南

    2. 数据验证(Validation):WebWork2提供了强大的数据验证机制,可以通过注解或XML配置文件定义验证规则,确保输入数据的有效性。 3. 国际化与本地化(i18n/L10n):WebWork2支持多语言环境,通过资源文件管理不同...

    WEBWORK

    WebWork 是一个基于 Java 的开源 MVC(Model-View-Controller)框架,它在早期的 Web 应用开发中非常流行,尤其是在 Struts 1 之前。WebWork 提供了强大的动作(Action)处理、类型转换、拦截器(Interceptor)机制...

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

    WebWork是一个基于Java的轻量级MVC(Model-View-Controller)框架,它为构建高性能、可维护的Web应用程序提供了强大的支持。WebWork docs 2 是一套完整的WebWork框架的详细说明文档,包含了开发者在使用WebWork时...

    WebWork2.0讲解说明

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

    webwork的jar包

    WebWork 是一个基于Java的MVC(模型-视图-控制器)框架,它在Web应用程序开发中被广泛使用。WebWork 1 和 WebWork 2 都是该框架的不同版本,每个版本都有其特性和改进。 WebWork 1 是早期的版本,提供了基础的MVC...

    WebWork_开发指南

    ### WebWork 开发指南知识点详解 #### 一、WebWork框架概述 - **WebWork**:WebWork 是一款用于构建企业级 Java Web 应用程序的框架,它以模型-视图-控制器(MVC)架构为基础,为开发者提供了一种更加灵活的方式来...

    webwork_框架文档

    WebWork是一个基于Java的MVC(Model-View-Controller)框架,它在早期的Web开发中扮演了重要的角色,尤其是在Struts之前或作为其替代品出现。WebWork提供了许多先进的特性,如动作拦截器、类型转换、强大的异常处理...

    webwork

    WebWork 是一个开源的、基于Java的Web应用程序框架,它专为构建动态、交互式的Web应用而设计。这个框架的核心理念是模型-视图-控制器(MVC)架构模式,帮助开发者将业务逻辑、用户界面和数据管理分离开来,从而提高...

Global site tag (gtag.js) - Google Analytics