温馨提示:您的每一次转载,体现了我写此文的意义!!!烦请您在转载时注明出处http://www.blogjava.net/sxyx2008/谢谢合作!!!

雪山飞鹄

温馨提示:您的每一次转载,体现了我写此文的意义!!!烦请您在转载时注明出处http://www.blogjava.net/sxyx2008/谢谢合作!!!

BlogJava 首页 新随笔 联系 聚合 管理
  215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks

       鉴于此文图片丢失,影响阅读质量,特上传此博文word文档,广大网友可点此下载word文档

呵呵,最近一直在看struts2方面的资料。大家都知道web开发过程中,我们经常要处理客户端(用户)提交过来的数据(增加记录)及后台数据库查询出来的数据(修改记录),这里难免会出现一些不符合要求的数据,我们称为“脏数据”。这里就借助于struts2提供的验证框架来做数据的验证(其实它依赖的还是webwork)

在使用struts2或者说webwork的验证框架时必须遵守以下几点:

在这里不要管为什么,人家就是这么约定的,我们只要照做就是了。除非你是科研人员,如果仅仅是项目需要,建议大家还是不要在这上面花过多的时间,不值得。

在对应的Action的包下(必须跟该Action在同一个目录)创建验证框架规则(.xml文件)

xml文件的命名必须遵守如下规则:

1)         该文件必须跟该对应的Action在同一个目录

2)         Action的名字---对应Action中的方法名(execute方法除外)-validation.xml

如:

如图所示该文件名由三部分组成:

第一部分:Action的类名

第二部分:Action中的方法名

第三部分:validation.xml(固定)

         这三部分之间用横线连接-

         验证规则(EmployeeAction-updateEmployee-validation.xml)内容

         因为Action是基于模型驱动的即在Action引用了对象模型,所以在写验证规则的时候字段属性为Action中对象模型名.具体的属性()

Action中的引用关系

EmployeeAction-updateEmployee-validation.xml中的配置内容

详细参看EmployeeAction-updateEmployee-validation.xml中的配置

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE validators PUBLIC

       "-//OpenSymphony Group//XWork Validator 1.0.2//EN"

       "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

       <validators>

           <field name="employee.empName">

               <field-validator type="requiredstring">

                   <message>雇员姓名不能为空</message>

               </field-validator>

           </field>

             <field name="employee.age">

               <field-validator type="required">

                   <message>雇员年龄不能为空</message>

               </field-validator>

           </field>

          <field name="employee.sex">

               <field-validator type="requiredstring">

                   <message>雇员性别不能为空</message>

               </field-validator>

           </field>

           <field name="employee.context">

               <field-validator type="requiredstring">

                   <message>雇员备注信息不能为空</message>

               </field-validator>

           </field>

       </validators>

<field name="验证字段(Action中对象模型名字.具体的属性)">

               <field-validator type="requiredstring">   验证规则

                   <message>验证出错信息</message>

               </field-validator>

</field>

最后千万别忘了在struts.xml文件中一定要配置一个结果为input的转向

否则验证失败时会出现如下错误:


鉴于此文图片丢失,影响阅读质量,特上传此博文word文档,广大网友可点此下载word文档

posted on 2009-10-23 17:42 雪山飞鹄 阅读(3678) 评论(6)  编辑  收藏 所属分类: struts2

Feedback

# re: struts2验证框架校验 2010-05-13 20:16 veizz
最后千万别忘了在struts.xml文件中一定要配置一个结果为input的转向



真是一语惊醒梦中人啊!!!
谢过!  回复  更多评论
  

# re: struts2验证框架校验 2010-05-15 16:55 今天
@veizz
谢过  回复  更多评论
  

# re: struts2验证框架校验 2012-06-06 09:55 jis117
弱的问一下,xml有两种配置方式
第一种是 类名 + -validation.xml
第二种是 类名 + -action名 + -validation.xml

第一种针对此action中只有一个execute()方法,
请问第二种配置是什么意思
是对一个action中的多个方法么
比如
UsreAction.java
--addUser()
--updateUser()
--deleteUser()

我想知道如何配置validate.xml进行指定方法的验证  回复  更多评论
  

# re: struts2验证框架校验 2013-06-10 20:15 112
@jis117
你错了,是action名,是指<action name="actionName" class="xx" method="xxx"> action名是指 actionName。 搞的我弄了半天  回复  更多评论
  

# re: struts2验证框架校验[未登录] 2013-09-18 16:20 df
dsfdxcx  回复  更多评论
  

# re: struts2验证框架校验 2013-10-26 16:27 85785053
看楼主这么 辛苦 我想强调一点, 第二位不是 方法名,是 Struts2 配置文件Action name 的名称

ActionJava-actionName-validate.xml  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: