Struts1.x系列教程(10):Validator考据框架入门[Java编程]
本文“Struts1.x系列教程(10):Validator考据框架入门[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1、Validator框架的上风
Validator框架是一个Struts插件,最初由David Winterfeldt计划并实现.Validator框架从Struts 0.5时代便可以利用,但当时Validator框架只是被捐助的一个jar包.Apache组织为了使开辟人员更便利地利用Validator框架,决意从Struts1.1开始,将Validator框架作为Struts的一部份同Struts一同公布.
Validator框架可以在XML文件中配置考证法则和考证对象.因此,利用Validator框架可以无需在ActionForm的子类中覆盖validate办法便可以很便利地考证客户端的提交数据.由于Validator框架内置了很多预定义的考证机制,如考证某个属性能否存在,考证EMail能否合理等.所以在普通情形下,只需求配置XML文件便可以满意我们的考证需求.
在利用Validator框架时,就会发现这种方法要比直接利用validate办法举行考证会给我们带来以下的好处:
1.更简单保护. 由于考证信息可以被安排在同一个配置文件中,因此,我们可以更简单地来保护这些考证信息.
2.尺度化.由于很多简单的考证都是相同的.如用户名和密码都要求由字母、数字以及下划下构成.假如将这些考证都写在validate办法中,对这些考证举行尺度化非常艰难.而在Validator框架中的这些考证机制都是预先定义的,因此,尺度化相同的考证关于Validator框架来说将是一件非常轻松的事.
3.避免重造轮子.固然一些考证很简单,但假如想精确切现它们也是非常艰难的.一个典型的例子是考证EMail地址的格局.假如这个考证要想完善无缺,就必须按着RFC-2822标准的要求来考证EMail地址.而假如我们利用Validator框架,就无需再重造轮子来考证EMail地址了.
4.削减反复代码的数目.由于Validator框架供应了很多预定义的考证,因此,我们可以避免自己写很多反复的代码举行考证.当然,我们也可以将大量利用的考证封装在类的办法中,这些固然可以避免大量的反复劳动,但这就意味着我们团队的新成员要利用这些被封装的考证办法之前必须先学习它们.而最糟糕的情形是很多开辟人员大概会忘掉利用这些由其他成员实现的考证库,而自己重新编写具有一样功效的考证库.当然,这一切假如利用Validator框架就都可以得到办理.
5.客户端和服务端考证自动切换.我们只需求简单地在JSP页面中放一个单独的<html::javascript/>元素便可以将服务端的考证转换为客户端考证(基于JavaScript的考证)
固然Validator框架的预定义考证已经可以满意大大都的考证需求了,但在某些特别情形下,这些预定义考证就无法满意我们的需求了,为此,Validator框架也为开辟人员供应了扩大考证机制的功效.这也使得Validator框架可以完成更复杂的考证工作.
2、配置和利用Validator框架
1.安装Validator框架
由于Validator是Struts的一个插件,因此,就需求在struts-config.xml文件中按着Struts插件的方法来安装Validator框架.翻开struts-config.xml文件,在<struts-config>元素中加入一个<plug-in>子元素,以下面的代码所示:
<plug-inclassName="org.apache.struts.validator.ValidatorPlugIn">
<set-propertyproperty="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validator.xml"/>
</plug-in>
此中<set-property>元素设置了插件中利用的pathnames属性的值.在pathnames属性值中包含了两个xml文件.
(1)validator-rules.xml:在这个文件中声明了Validator框架的预定义考证.这个文件可以在Struts的发行包的lib目录中可以找到这个文件.在利用MyEclipse为Web工程增添Struts功效后,会自动将这个文件加到WEB-INF目录中.
(2)validator.xml:这个文件定义了要考证的对象.实际上,在这个文件中,包含了一个或多个ActionForm的子类及其要考证的属性和考证法则.因此,这个文件就相当于validate办法.在Validator框架中,可以有多个定义考证对象的xml文件(可以将差别的ActionForm的子类分离到差别的xml文件中),中间用逗号(,)离隔,以下面的代码所示:
<plug-inclassName="org.apache.struts.validator.ValidatorPlugIn">
<set-propertyproperty="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validator1.xml,
/WEB-INF/validator2.xml, /WEB-INF/validator3.xml"/>
</plug-in>
以上是“Struts1.x系列教程(10):Validator考据框架入门[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |