在Struts中使用Validator框架
每个应用程序都有责任确保它们插入到后台资料库的数据是合法有效的,究竟,假如这些应用程序所依靠的数据一旦遭到了破坏,那将是灾难性的,那应用程序还能拿什么来使自己正常运转呢?比如说,使用正规关系数据库的一个应用程序,数据库中的每个字段都有自己一定的规则和约束,来保证存储在其中的数据在一定程度上的正确性。任何要使用后台资料库数据的应用程序都有责任保护它们提交的数据的完整性。
任何试图插入或更新不符合标准的数据的操作都有可能被发现并拒绝。这种检测可能遍布在整个应用程序的每个角落,在表现层可能进行一些验证,在业务逻辑层,商业逻辑对象一般也有商业逻辑的验证,还有在后台资料库也要对数据进行检查。
不幸的是,由于这种验证在应用程序中无处不在,造成了应用程序在一定程度上的验证数据的代码冗余。这并不是应用程序所希望的,因为这种在多处的重复劳动,使得应用程序的部署和维护要花去更多的时间。假如在整个应用程序中,这些验证规则可以重复使用,将使得应用程序更加富有弹性,换句话说就是,部署更快捷,定制更轻易,程序更灵活。
Jakarta Commons 项目Validator框架简介
Validator是由David Winterfeldt创建的开源项目,它也是Jakarta Commons的一个子项目。Commons项目主要是提供一些像Validator这样的一些可重用组件。其他闻名的Commons组件还有如BeanUtils,Digester,Logging框架等。Validator 1.0版本发布于2002年11月初。
使用Validator的好处
.使用Validator框架比一般的在应用程序的代码中定义验证规则有好多优点,如:
.可以在一处为应用程序定义验证规则;
.验证规则和应用程序是松耦合的;
.服务器端和客户端的验证规则可以在同一处定义;
.配置新验证规则或修改已有验证规则变得更加简单;
.支持国际化;
.支持正则表达式;
.可以用于Web应用程序也可用于标准的java应用程序;
.采用声明的方法实现而不是编程实现;
除了之外,Validator最大的特征就是自身支持可插性(pluggability)。在文章的后
面你将会看到使用Validator框架内置的验证规则来更好地完成你的工作,而更重要的是,Validator框架答应你自定义验证程序,并插入到框架中。
Struts和Validator的关系
应该指出的是Validator框架本身是因Struts框架而建立的。Validator的创建者David Winterfeldt在使用Struts的过程中发现,在许多ActionForm类中需要反复使用同一个验证规则,这样造成了大量的代码冗余。于是他决定创建Validator框架来消除这种冗余,这样Validator就诞生了。
尽管Validator架构最初是为Struts架构而生,但它还是被设计和构造成了可以独立于Struts架构而单独使用。这一个特征使得你可以在任何的应用程序中使用这个框架,不必管它是不是Struts架构的。并不会因为你不使用Struts框架而影响Validator架构对你的应用程序作用。事实上,这就是为什么Validator是Jakarta Commons项目的一部分而不直接是Struts项目的一部分。
现在,我们来将这个框架整合应用到像基于Struts构架这样的Web应用程序上。在文章的最后中我们再介绍如何把它应用到其他类型的应用程序中,如基于EJB的应用程序。
Validator组件概述
Validator架构有下面这些组件组成:
Validators;
配置文件;
资源绑定;
jsp自定义标签;
Validator Form类;
什么是Validators?
一个Validator就是,执行一个验证规则时Validator框架调用的一个Java类。框架根据配置文件中定义的方法签名来调用这个Validaotor类。一般情况下,每个Validator类提供一个单独的验证规则,然后这些规则可以组合成更复杂的规则集。
注重:有时出于方便,一个Validator类也可以定义多个验证规则,而每个规则是一个静态方法且并不包含任何客户端状态信息。
框架提供了14种默认的验证规则,有时候这些规则也被称为Validator框架的“基本规则”,这些基本规则如表一:
名称 描述
byte,short,integer, 检验值是否能被转换成对应的基本数据类型
long,float,double
creditCard 检验输入域是否是一个合法的信用卡号码
date 检验输入域是否是一个合法日期
email 检验输入是否是一个合法Email地址
mask 检验输入域是否能成功匹配一个正则表达式
maxLength 检验值的长度是否小于等于给定的最大长度
minLength 检验值的长度是否大于等于给定的最小长度
range 检验值的范围是否在最大值和最小值之间
required 检验输入域是否为不为空,或不包含空格值的长度是否大于零
表一
正像你在表一中看到的,Validator框架提供了Web应用程序需要的大多数的验证规则。你可以使用这些现有的验证规则来创建自己验证配置文件。尽管这样,也正如我们前面提到的,和后面要讲到的,你可以根据你的需要随意的增加更多的Validator。
现在,让我们来讨论如何在一个基于Struts架构的应用程序中配置使用这些基本的Validator。
使Validator框架具有弹性的原因在于所有的验证规则和其具体细节都是通过在外部文件中配置声明实现的。你的应用程序并不必要知道这些具体的验证规则。这一特征使得规则集的发生扩展和修改时,你并不用去动你应用程序的源代码。这一点对你要进行每次的个性化安装或当需求发生变化时来说是非常重要的。
假如你使用Struts1.1的Validator框架,你会用到这样两个配置文件,一个叫validator- rules.xml,另一个叫validation.xml;其实你也可以随意的给他们命名,甚至可以把它们合并成一个XML文件。但是,你还是最好把它们分开,因为它们各有各的用途。
注重:假如你从Jakarta网站上下载Validator,并不包含这两个文件。只有在包含的Validator框架的Struts的下载中才可以找到这两个文件。
validator-rules.xml文件
validator-rules.xml文件定义应用程序可以使用的Validator。validator-rules.xml充当模板的作用,定义所有应用程序可能要用到的Validator。
注重:这个xml文件和我们下面要讨论的另一个xml文件都应该放到类加载器可以找得到的地方。当我们在Web应用程序中使用Validator框架时,正确的位置应该是在WEB-INF下。
validator-rules.xml文件服从validator- rules_1_1.dtd的治理,validator- rules_1_1.dtd可以在jakarta.apache.org/struts/dtds/validator- rules_1_1.dtd下载到。我们并不想花太多的时间放在研究这个文件的具体细节上,我们在这儿只作一些基本的介绍。
validator-rules.xml文件中最重要的元素包含在
例一:一个简单的validator-rules.xml文件
classname="org.apache.struts.util.StrutsValidator"
method="validateRequired"
methodparams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
msg="errors.required"/>
method="validateMinLength"
methodparams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
depends="required"
msg="errors.minlength"/>
应用程序使用的每个Validator对应一个
validation.xml文件
Validator框架的第二个配置文件就是这个叫validation.xml的文件。其实你可以随意把它命名为你喜欢的任何名字,也
以上就是在Struts中使用Validator框架内容,更多相关文章请关注PHP中文网(www.php.cn)!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Analyse des principes et exploration pratique du framework Struts. En tant que framework MVC couramment utilisé dans le développement JavaWeb, le framework Struts a de bons modèles de conception et une bonne évolutivité et est largement utilisé dans le développement d'applications au niveau de l'entreprise. Cet article analysera les principes du framework Struts et l'explorera avec des exemples de code réels pour aider les lecteurs à mieux comprendre et appliquer le framework. 1. Analyse des principes du framework Struts 1. Architecture MVC Le framework Struts est basé sur MVC (Model-View-Con

Explorer le mécanisme interne du framework Struts2 Struts2 est un framework d'application JavaWeb populaire largement utilisé pour développer des applications Web basées sur l'architecture MVC. Il a apporté de nombreuses améliorations et optimisations basées sur Struts1, offrant des fonctions plus puissantes et flexibles. Avant de nous plonger dans le fonctionnement interne du framework Struts2, nous devons comprendre quelques concepts de base. Le cœur du framework Struts2 est MVC (Model-View-Controlle

Avec la popularité d’Internet et des appareils mobiles intelligents, le développement d’applications Web est devenu de plus en plus important. En tant qu'excellent langage de programmation multiplateforme, Java est privilégié par les développeurs. Dans le développement back-end Java, l'utilisation du framework MVC peut nous aider à améliorer l'efficacité du développement et à réduire les coûts de développement. Cet article présentera le développement du framework MVC d'API à l'aide de JavaApacheStruts. 1. Cadre MVC MVC (Model-View-Contro

Le principe du framework struts : En utilisant la technologie Java Servlet/JSP, un framework d'application basé sur le modèle de conception MVC des applications Web Java EE est implémenté. Il utilise une ou plusieurs classes Action pour traiter les requêtes des utilisateurs et renvoyer les résultats à l'utilisateur. . Application du framework Struts : 1. Créer des applications Web ; 2. Traiter les données du formulaire ; 3. Intégrer des bibliothèques tierces ; 5. Créer une API RESTful.

Introduction au framework Struts en langage Java Avec la popularité progressive des applications Web, telles que les sites Web Web et les systèmes d'applications d'entreprise, l'architecture JavaEE (Enterprise Edition) est progressivement devenue un choix courant. Dans l'architecture JavaEE, en raison de la popularité du modèle de conception MVC (Model-View-Controller), le framework Struts est devenu l'un des frameworks d'applications Web couramment utilisés. Dans cet article, nous examinerons de plus près

Analyse approfondie du principe de fonctionnement du framework Struts2 Struts2 est un excellent framework de développement d'applications Web Java. Il fournit une méthode de développement basée sur le modèle MVC (Model-View-Controller) pour aider les développeurs à créer et à maintenir des applications Web plus rapidement. Comprendre le principe de fonctionnement du framework Struts2 est très important pour les développeurs. Cet article aidera les lecteurs à acquérir une compréhension approfondie du principe de fonctionnement du framework Struts2 grâce à une analyse détaillée et des exemples de code spécifiques.

Analyse détaillée du principe de mise en œuvre du framework Struts2. En tant que framework d'application JavaWeb largement utilisé, l'excellente conception et les performances du framework Struts2 en font un outil préféré des développeurs. Comprendre les principes de mise en œuvre du framework Struts2 est d'une grande importance pour améliorer la compréhension et le niveau d'application du framework par les développeurs. Cet article analysera en détail les principes de mise en œuvre du framework Struts2 et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre ce framework. 1. Brève introduction du framework Struts2

Analyse approfondie des principes et des applications du framework Struts Résumé : Le framework Struts est un excellent framework de développement d'applications JavaWeb. Il est basé sur le modèle de conception MVC et une série de bibliothèques de balises et d'intercepteurs, offrant aux développeurs une solution simple et standardisée. manière de créer des applications Web. Cet article fournira une analyse approfondie des principes et des applications du framework Struts, y compris le principe de fonctionnement du framework, ses principaux composants et des exemples de code pour démontrer ses applications spécifiques. 1. Principe de fonctionnement du cadre Struts Struts
