WebWork验证机制杂谈

开发 后端
WebWork验证机制的原理是一个需要验证的表单域在onblur时发送一次请求到服务器端进行验证,然后实时提醒。

自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标签,的结果是生成两个Css样式的链接:

主要是获取显示错误是的样式。

2、使用,很遗憾我们只能够用Webwork的UI标签,这样才能使用到她的客户端WebWork验证机制。的标签是挺方便,但是在特定的场合,我们必须使用自已的样式和风格的布局。而Webwork默认的XHTML主题的标签会把布局搞乱。当然,我可以使用Simple主题的。但是在需要客户端验证的时候,Simple主题是行不通的。也就是说要求主题必须是XHTML以上。或者自定义的主题(自已提供错误信息报告功能)。呵。没办法,先将就着用XHTML吧。

 在的标签里使用namespace 及Action属性。如果你的Action是/foo/bar/new.action那么,你必须这样写:

  1. 〈ww:form namespace="/foo/bar"     
  2. action="new"  validate="true"/〉 
  1. validate="true"一句将会在客户端生成一句:  
  2. 〈script src="/bean/webwork/xhtml/validation.js"〉    
  3. 〈/script〉   

如果你这样写:

  1. 〈ww:form action="/foo/bar/new.action"     
  2. validate="true"/〉  

你将得不到客户端验证。要注意,这个细节不容忽视。后来查文档的时候才知道Webwork已经提醒我们要像上一种写法那样写。因为她要知道哪个名字空间下的哪个Action需要被验证!看吧。这是心急的错。不看文档后果就自负。

以上两种写法,在页面上生成Js的结果是不一样的。

***种写法会在页面上生成相应的WebWork验证机制规则。

第二种写法生成的Js,只是简单清楚报错信息然后提交请求到服务器,由服务器来验证。

只需要这三步,Webwork2.2.2的客户端验证功能就算是使用了。

现在编辑是使用FCKEditor,另外可以看Webwork的Showcase。这东西太出彩了。

【编辑推荐】

  1. WebWork框架原理与应用(1)
  2. 用WebWork注册页面建立过程
  3. WebWork注入Servlet方法详解
  4. WebWork中返回INPUT的原因
  5. WebWork如何实现文件上传配置过程
责任编辑:冰荷 来源: blogjava
相关推荐

2009-07-14 15:52:00

WebWork文件下载

2009-07-14 17:34:53

Webwork配置

2009-07-14 16:08:41

WebWork学习

2009-07-16 14:08:14

webwork配置

2020-12-14 12:17:47

MySQL记录语句

2009-07-16 16:08:30

WebWork Act

2009-07-08 10:30:57

WebWork

2009-07-08 10:11:30

WebWork

2009-07-16 16:01:54

WebWork敏捷开发

2009-07-14 14:04:36

WebWork框架

2009-07-08 09:55:51

WebWork下载

2009-07-16 17:42:47

WebWork配置

2009-07-09 15:55:18

WebWork配置文件

2009-07-14 17:53:11

WebWork安装WebWork配置

2009-07-14 01:00:43

WebWorkActionConte

2009-07-16 16:27:26

Struts WebW

2009-07-14 17:20:31

Webwork文件上传

2009-07-16 14:58:03

WebWork安装WebWork配置

2009-07-14 14:41:33

Webwork与Spr

2009-07-14 12:47:07

WebWork工作方式
点赞
收藏

51CTO技术栈公众号