- 浏览: 169161 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
1055229269mao:
一起学习,一起进步
servlet登陆过滤器 -
1055229269mao:
亲测好用。非常感谢了
servlet登陆过滤器 -
wx_hello:
此行:Builder builder = new BookDo ...
xml 解析例子 -
wx_hello:
我想说楼主,你那个SAX解析的不对吧。。貌似使用的dom解析出 ...
xml 解析例子 -
hxp520520:
下了源码,正研究
java ip 查询定位 QQwry.dat
一、启用Validator插件
虽然Validator框架是与Struts封装在一起提供的,但在默认状况下Validator并不被启用。为了启用Validator,要向你的应用程序的struts-config.xml文件中添加下面的插件定义。
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
</plug-in>
二、配置validator-rules.xml
Struts示例应用程序带有这个文件的预配置拷贝。在大多数情况下,你不必修改这个预配置拷贝,除非你要向该框架中添加自己定制的验证。默认情况下,Validator中包括几个基本验证例行程序,你可以用它们来处理大多数验证问题。这些例行程序具有逻辑名称,如required(用于输入要求的值)、CreditCard(用于输入信用卡号码值)、email(用于输入电子邮件地址值),等等。
三、配置ApplicationResource.properties
ApplicationResource.properties属性文件中这时应该追加用于验证错误的消息,validator-rules.xml的标准验证逻辑中包括了错误信息的名称,譬如required验证会在“msg”属性中包括errors.required消息,这时你就需要在ApplicationResource.properties中定义该消息,必须要和validator-rules.xml中的msg申明的消息名称一致。例如:
errors.required={0} is required. errors.byte={0} must be a byte. errors.date={0} is not a date. |
将这些信息直接拷贝到ApplicationResource.properties中即可。
四、创建Form
根据不同情况分别可以创建三种类型的form:
1、ValidatorForm
2、DynaValidatorForm
3、ValidatorActionForm和DynaValidatorActionForm
注意:对于由myeclipse生成的静态form,如果在form中包括validate()方法,要将其去掉,否则,验证就会被这个空的validate()方法覆盖而没有发挥作用
创建步骤类似,ValidatorForm需要具体的form,该form继承自ValidatorForm,并且不包含reset()和validate()方法,而DynaValidatorForm不需要具体的form,这两种form的实现方法基本相同,
对ValidatorActionForm和DynaValidatorActionForm的解释:
对于1、2两种验证有一点不足,就是在validation.xml文件中将表单属性的验证捆绑到具体的form上了,譬如:
<form name="registerForm"> |
可以看到,form的name属性指定了具体的form即registerForm,下面对三个属性的验证规则只能用在registerForm上,如果这三个验证规则是通用的就好了,也就是说如果存在注册表单和修改表单的操作都能够使用这三个规则就好了,这时就要引入一个概念就是验证跟随操作,而不是绑定到具体的form上。例如注册表单和修改表单由于验证规则相同,则将三个验证规则放到具体的action上就行了,验证规则可以如下定义:
<form name="/register"> |
上面form的name属性已不再是struts-config.xml中定义的form的name,而是其中定义的action的path属性值。
为了解决这个问题,Validator提供了两个附加的ActionForm子类,它使你能够将验证与操作相关联,而不是与Form Bean相关联。这样你就可以根据哪个操作正在使用Form Bean来指定把哪些验证用于该Form Bean了。
五、创建Validation.xml
下面介绍一下validation.xml配置文件的标签:
<form-validation></form-validation>是总框架
<formset></formset>是对Form里的数据进行配置
<form name="ActionForm对应的名称"></form>对一个ActionForm里的数据进行验证配置
<field property="ActionForm里的属性名" depends="验证规则,可以是Validation-rules里定义好的也可以是自定义的验证规则">这里配置一个属性的验证内容
<arg0 name="对应的验证规则名称" key="可以直接填入数值,也可填入变量表达式:${var:变量名}" resource="true/false"(代表是否从资源文件中读取信息,否则Key的值以参数的形式返回)>
<var></var>定义一个变量的标签体,可以在里面具体设置变量的名称以及数值
<var-name>对应Key里定义的变量名称</var-name>
<var-value>值</var-value>
<msg name="对应的验证规则名称" key="资源文件中定义的变量名称">这里定义了信息变量后,会默认定义的信息变量。
在验证规则中大部分可以使用已经预定义好的规则,它们在validator-rules.xml里,当然我们自己也可以定义规则。
其实,这个文件名可以是任意的,可以起成别的名字,比如:validators.xml,不过,也要相应修改struts-config.xml文件中的加入validator框架PlugIn中的value属性。这个value属性用来指定validator-rules文件和具体的验证文件。
1)根元素:
validators.xml文件的“根元素(Root)”是form-validation,
意味着整个文件的内容包含在“<form-validation>”和“</form-validation>”之间,
2)元素global:
这个东西包含constant子元素,用来定义一个全局的“验证限制”,
以便在这个文件的其他地方使用这些验证规则。
例如:
<global> <constant> <constant-name>userName</constant-name> <constant-value>^\s*[\w-]{0,30}$</constant-value> </constant> <constant> <constant-name>password</constant-name> <constant-value>^\s*[.\w@#!$%^*()-]{6,20}\s*$</constant-value> </constant> <constant> <constant-name>email</constant-name> <constant-value>^\s*([A-Za-z0-9]+(\.\w+)*@([\w-]+\.)+\w{2,3})\s*$</constant-value> </constant> </global>
|
对部分元素的解释:
发表评论
-
Port 80 or 443 (SSL) already in use ! Installing Apache2.2 service failed!的解决方案
2011-02-15 10:16 2897Port 80 or 443 (SSL) already in ... -
java断言 assert
2010-04-14 02:37 1451java 断言 assert 初步使用:断言开启、断言使用主要 ... -
java抽取word,pdf的四种武器
2010-03-12 16:37 1399很多人用java进行文档操作时经常会遇到一个问题,就是如何获得 ... -
Java调用com组件操作word使用总结
2010-03-12 16:35 2091一、准备工作 先了解一下概念,JACOB 就是 J ... -
Java操作office 2007文档
2010-03-12 16:23 1721我们希望将Office 20 ... -
java平台下通过jacob对excel,word进行打印等操作
2010-03-09 09:22 2782因为项目有个需求,要求能够在某个预定时间对特定报表进行自动打印 ... -
An internal error occurred during: "JSP Semantics Validator (JSF)". org/eclipse/
2009-11-17 11:58 2177An internal error occurred duri ... -
Comparator和Comparable比较
2009-09-22 23:40 801当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comp ... -
在jsp环境中配置使用FCKEditor
2009-09-09 21:32 713FCKeditor是sourcefor ... -
配置FCKeditor(FCKeditor for java)
2009-09-09 21:28 12091.下载FCKeditor.java ... -
Java排序算法
2009-07-20 15:52 1026public class Sort { public ... -
log4j配置详
2009-07-17 14:59 671log4j详解 ... -
关于java打印功能的最简单实现的学习笔记
2009-07-16 17:03 2331<scr ... -
Java高级编程:打印--学习如何使用打印服务API
2009-07-16 16:36 1661作者:Brett Spell 翻 ... -
Tomcat 配置
2009-07-15 11:00 811Tomcat启动分析 1 - To ... -
键盘快捷键大全
2009-07-01 09:48 991、常见用法: F1 ... -
Linux必学60个命令文件处理
2009-07-01 09:47 890linux系统信息存放在文 ... -
pager-taglib使用指南【转】
2009-06-30 16:38 6892009-05-13 09:49 一简介, ... -
pager-taglib使用指南【转】
2009-06-30 16:37 6872009-05-13 09:49 一简介, ... -
Javascript实现打印网页中定义的部分内容
2009-06-26 12:12 958正常情况下的打印是使用 window.print(); 直接整 ...
相关推荐
适合新手学习struts2,使用myeclipse9开发,源码包含拦截器、验证等演示代码。
Struts2 概述 如何应用Struts2 Struts2 配置文件 如何编写Action 拦截器 Struts2的标签 OGNL 数据校验 国际化
只使用Struts2框架和struts标签做的一个简单用户登录系统,没有连接数据库,知识把用户输入信息传到后台校验,判断下,返回信息。开发工具myeclipse,tomcat
Struts2应用开发系列Struts2的校验框架
Struts2应用开发系列Struts2的校验框架
Struts2应用开发系列Struts2的校验框架
Struts2应用开发系列Struts2的校验框架
实时的数据校验是AJAX技术的重要优点之一,Struts校验框架通过加入这种技术进一步丰富了其MVC,从而使得Web应用程序的开发效果更接近于桌面应用程序。 一、引言 校验框架的根本目的是实现域校验。在Web应用程序中...
本源码主要涉及了Struts 2的核心操作包、配置文件、核心开发模式的使用,在本课程讲解的时候主要结合Struts 2的核心优点以及从代码比较上讲解了和Struts 1的区别,随后又包含了Struts 2中提供的各个优秀技术,如转换...
本人自己开发的Struts框架 可以自动填充属性 及验证跳转 ,唯一没做的是文件上传,简单易懂 值得学习
第8章到第9章介绍了开发Struts应用的一些实用技术,如Struts框架的扩展点、Struts应用的国际化,Validator验证框架和异常处理机制等。第12章到第16章结合具体的Struts应用实例,详细介绍了Struts的标签库以及Tiles...
第8章到第9章介绍了开发Struts应用的一些实用技术,如Struts框架的扩展点、Struts应用的国际化,Validator验证框架和异常处理机制等。第12章到第16章结合具体的Struts应用实例,详细介绍了Struts的标签库以及Tiles...
根据网上的资源实现了一个登陆时邮箱验证的功能,前台的页面比较明确,后台使用开源的第三方框架,有点乱。由于交作业比较着急,后台有些功能只有显示没有代码的具体实现,不过功能也足够交作业了。
这个项目是由我们三个小组成员共同开发的,可能有些地方不足,但这个项目中有很多好的东西,比如发送邮件来验证验证码
《Struts 2完全学习手册》全面讲述Struts 2开发框架的知识,包括Struts 2中配置文件的详细讲解、国际化与异常处理、数据类型的转换、数据的输入校验、Struts 2强大的标签库、Struts 2中文件的上传与下载、Struts 2对...
该实例展示了struts2的MVC开发模式,并且运用struts2自带的表单验证功能
但是这样做,不好之处就是我们可以通过人为的将开发者的验证js注掉,这样就导致验证失败,对后台安全性是一个很大的威胁,在采用struts2进行开发时,我们可以采用框架内置的校验器! 本附件为【Struts2】★☆之...
学海无涯,技术无疆!分享所得,大家共勉。赚分贴!
所发布的是《Struts应用开发完全手册》的全部源代码,以数字命名的文件代表书中的章节!
第8章到第9章介绍了开发Struts应用的一些实用技术,如Struts框架的扩展点、Struts应用的国际化,Validator验证框架和异常处理机制等。第12章到第16章结合具体的Struts应用实例,详细介绍了Struts的标签库以及Tiles...