- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 Struts 2校验框架 前面介绍了Struts 2的输入校验,但是实现输入校验就要编写大量的代码,实现起来比较复杂和麻烦。Struts 2框架提供了一套校验框架,通过校验框架能够非常简单和快速地完成输入校验。基于校验框架来完成输入校验,只需通过指定简单的配置文件即可。 5.1 Struts 2校验框架初探 5.1.1 使用校验框架的好处 5.1.2 编写校验规则文件 5.1.1 使用校验框架的好处 前面介绍了Struts 2的输入校验,但是发现要实现输入校验就要编写大量的代码,而且修改起来比较麻烦。还有日期的校验、邮箱校验这些都是经常要用到输入校验,每次都需要手动地在validate()方法中来添加校验规则。 前面介绍的是在没有使用验证框架的基础上,全手动来添加输入校验功能。Struts 2框架是非常强大的,它提供了一套验证框架,通过验证框架能够非常简单和快速地完成输入校验。 基本的输入校验一定要熟悉。只有在了解了手动添加输入校验的基础上才能更好地了解Struts 2校验框架。这就是为什么一开始没有直接介绍使用Struts 2校验框架,而是从最基础的手动添加校验功能的原因。 5.1.2 编写校验规则文件 前面提到了校验规则文件其实就是一个XML文件。该规则文件名为ActionName-validation.xml。其中ActionName为对应处理Action的类名,-validation.xml为固定格式。文件存放在Action文件的相同目录下。现在有一个问题,如何查看这个XML文件中有哪些标签呢? 首先可以查看该XML文件中的声明,从而知道该XML文件必须符合什么规范。比如上面这个文件就必须符合“/xwork/xwork-validator-1.0.2.dtd”中定义的语法规则。通过上面的链接将xwork-validator-1.0.2.dtd文件下载下来并打开该文件。 5.2 校验器风格 Struts 2提供了两种方式来配置校验器:字段校验器风格和非字段端校验器风格。这两种配置风格并没有本质上的区别,只是组织校验规则文件的方式不同。 5.2.1 字段校验器风格 validators元素下可以出现两个元素field和validator,使用这两个元素有什么不同呢?如果使用field元素就是字段优先,表示使用字段校验器配置风格;如果使用validator元素就是校验器优先,就是非字段校验器配置风格。 通过上面的DTD规范,设计校验规则文件示意图如图5-1所示。 5.2.2 非字段校验器风格 非字段校验器配置风格,从名称上来看知道它肯定不是以字段优先。那么它以什么优先呢。从前面的分类介绍来看,非字段校验器配置风格是使用校验器优先。 通过上面的DTD规范,设计校验规则文件示意图如图5-2所示。 5.2.3 配置风格比较 前面介绍了两种校验器配置风格,到底哪种配置风格比较好呢?有些开发人员觉得字段校验器配置风格可能会比较好点。因为是以字段优先的,这样可以从一个字段一个字段地着手来编写校验规则,而且在一个字段中可以添加多个校验规则。如果使用非字段校验规则,首先必须配置使用哪个校验器,然后才配置被校验字段,这样比较难理解。 这个关系到个人偏向问题。有些开发人员可能喜欢先定义好被校验字段,然后为该字段添加校验规则。也有些开发人员可能喜欢先定义好规则,然后再在规则中指定被校验字段。可以根据个人的喜好选择其中的一种,但是建议不要混用这两种配置风格。 如果混用的话,会不会出现错误呢?其实错误倒是不会产生,但是这样校验规则文件代码就会显得非常凌乱了。使用其中一种配置风格能够使得代码更加整洁,容易看懂。 5.3 内建校验器 Struts 2提供了非常多的默认校验器。在开发中使用内建的校验器能满足大部分的校验需求。Struts 2提供的校验器包括必填校验器、必填字符串校验器、整数校验器、日期校验器、字段表达式校验器等。 5.3.1 Struts 2默认校验器 Struts 2提供了非常多的默认校验器。在开发中使用内建的校验器能满足大部分的校验需求。对于这些内建的校验器,只需知道校验器名称以及参数就能实现对应的校验功能,对于底层的校验细节则可以不用了解。下面来看Struts 2到底提供了哪些内建的校验器。 首先找到导入的库文件xwork-2.0.4.jar。依次展开其中的com目录、opensymphony目录、xwork2目录、validator目录、validators目录,如图5-3所示。 5.3.2 必填校验器 从default.xml注册文件中可以知道必填校验器的名称为required。对应的处理类为com.opensymphony.xwork2.validator.validators.Requir
文档评论(0)