快速业务通道

Struts从零开始五、Struts中验证数据实例 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
了一些全局性的验证规则,使得你在应用程序中使用校验而不用关注实现细节。这个配置文件是Validator 框架自带的,可以用在所有Struts应用中。它默认配置了许多很常用的规则,一般来说,不用去更改它,除非需要扩展或修改这些默认的验证规则。

建议:即使你需要扩展一些规则,也不要去修改validation-rules.xml,而是通过新的配置文件去定义你所扩展的校验规则。

validator-rules.xml文件的根元素是form-validation,它包含一到多个global元素,global元素包含一到多个validator 元素。

每一个validator 元素定义了一个唯一的验证规则。下面是validation-rules.xml 文件中的一个片断, (mask)验证规则:

classname="org.apache.struts.validator.FieldChecks" method="validateMask" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.invalid"/>

1) name: 赋予验证规则的一个唯一的名称。

2) classname: 指的是具体实现验证规则的类。

3) method: 指包含具体实现类的方法。

4) methodParams: 声明method属性所指定的方法参数,多个参数之间用逗号分隔。

5) depends: 指定在调用当前的严整规则之前必须先调用的其他验证规则。多个则用逗号分隔。

6) msg: 指定来自于Resource Bundle中的消息key。当验证失败时,validator框架根据这个消息key到Resource Boundle中查找匹配的消息。

Struts从零开始五、Struts中验证数据实例(5)

时间:2011-08-05

2、validation.xml

Validator框架所需要的第二个配置文件是validation.xml,这个配置文件是具体应用(项目)所特定的,可以根据你的应用(项目)情况进行自定义配置。它描述了具体的ActionForm使用validation-rules.xml文件中的哪个验证规则进行验证。

一个自定义的验证规则如下:

Validator.xml文件的根元素为元素,它包含两个子元素:和元素。

1) 元素可以定义子元素,它用来定义常量表达式。

2) 元素包含两个子元素:和。

3) 元素用于为表单配置验证规则,它的name属性表示你验证formBean,必须和struts-config.xml里面FormBean名字保持一致。元素可以包含一个或多个子元素。

4) 元素是针对表单中字段的验证规则。Property属性用于指定FormBean中需要验证的字段的名称,depends属性用于指定字段的验证规则,多个用逗号分隔。

5) 元素表示出错时的主体信息,key 是你属性文件里面的key。

6) 主要是对前面元素包含的验证规则的定义。

3、插入Validator

每一个Struts应用需要知道是否使用了Validator框架,可以通过PlugIn(插件)机制将Validator框架配置到Struts应用中。

下面的代码演示了如何将Validator 作为一个插件加入到Struts 应用中,在Struts 应用的配置文件Struts-config.xml 中加入如下代码片段:

value="/WEB-INF/validator-rules.xml,/WEB-INF/validator.xml"/>

pathnames属性的值用来指定Validator 框架所使用的配置文件,多个配置文件之间用逗号分隔。

当应用启动的时候,Struts框架将调用ValidatorPlugIn的init()方法。Validator框架的配置文件将会加载到内存中供应用使用。在init()方法被调用之前,pathnames所指定的值将会传递给ValidatorPlugIn的实例,ValidatorPlugIn实例将会依据这个值去加载配置文件。

案例说明:根据前面的例子我们进行进阶,要求用户输入用户名、密码。并且用户名、密码是必须,若为空,则提示错误信息。

A、服务器段验证

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号