(valildate)Validate下创建formbean

原创 2004年10月14日 09:28:00

validate下,struts提供三种formbean形式。

(1)创建一个特定的Form Bean对象:

这个类与你不是用Validator所创建的类相似,但它提供ValidatorForm而不是ActionForm。这个类也不提供ActionForm的空reset( )和validate( )方法的实施过程,因为ValidatorForm提供了相应过程。

在struts-config.xml文件中配置这个特定Form Bean的方法与配置正则Form Bean的方法相同:

用表单标记的name属性给特定Form Bean指定的逻辑名是在定义validation.xml文件中的验证时所使用的名称,如下所示:

Validator使用该表单标记的name属性的值将验证定义与要应用这些定义的Form Bean的名称相匹配。


(2)创建一个动态的Form Bean对象:
<form-beans> <form-bean name="logonForm" type="org.apache .struts.validator.DynaValidatorForm"> <form-property name="username" type="java.lang.String"/> <form-property name="password" type="java.lang.String"/> </form-bean> </form-beans>

动态Form Bean不要求创建特定的Form Bean对象;相反,要定义Form Bean应该具有的属性和类型,而Struts为你动态创建Form Bean。
Validator允许你使用这个概念,就像在核心Struts中使用这个概念一样。与使用Validator的惟一区别就是要指定Form Bean是org.apache.struts.validator.DynaValidatorForm类型,
而不是org.apache.struts.action.DynaActionForm类型。
分配给动态Form Bean的逻辑名是在定义validation.xml文件中的验证时使用的名称。Validator使用与之相匹配的名称将这些验证与Form Bean联系在一起。

(3)创建一个高级的Form Bean对象:
将多个验证定义与一个Form Bean定义联系起来。当你使用基于validatorForm或基于DynaValidatorForm的Form Bean时,Validator使用struts-config.xml文件中的Form Bean的逻辑名称,
将Form Bean映射到validation.xml文件中的验证定义。

Validator提供了两个附加的ActionForm子类,它使你能够将验证与操作相关联,而不是与Form Bean相关联。这样你就可以根据哪个操作正在使用Form Bean来指定把哪些验证用于该Form Bean了。对于特定的Form Bean,你要像下面这样声明org.apache.struts.validator.ValidatorActionForm子类:

对于动态Form Bean,在struts-config.xml文件中为Form Bean定义指定org.apache.struts.validator.DynaValidatorActionForm的类型,如下所示:

在validation.xml文件中,把一组验证映射到一个操作路径,而不是映射到Form Bean名,因为如果你定义了Create Address和Edit Address两个操作(它们使用同一个Form Bean),那么每个操作都会有一个惟一的操作名,如下所示:

下面的validation.xml文件片断显示了两组验证,它们用于同一个Form Bean,但却有不同的操作路径:

因为Form Bean要么属于ValidatorActionForm子类,要么属于DynaValidatorActionForm子类,所以Validator知道用一个操作路径代替Form Bean的逻辑名称来找出用于Form Bean的验证。

 

Struts1学习之--14、动态FormBean的讲解

动态FormBean的讲解 1,不需要创建ActionForm的子类。   在配置文件中: struts-config>     form-beans>         form-bean...
  • zuoanren
  • zuoanren
  • 2012年12月16日 20:30
  • 2924

FormBean到底是什么?

FormBean到底是什么?我们在Struts FrameWork里我们在配置config的时候要配置一个FormBean,相信有些人会和我有同样的困惑,这个FormBean在整个FrameWork里...
  • xlhacoo
  • xlhacoo
  • 2004年11月30日 16:04
  • 3989

Spring mvc (八) [基于注解的案例][formbean的传递以及map传递参数]

下面结合一个案例来解析一个spring mvc通过注解的方式如何运作的: 1、 发送请求的url: http://localhost:8080/@mvc/do_get.do发送请求道do_get方...
  • zhang6622056
  • zhang6622056
  • 2012年06月01日 00:06
  • 8247

动态Formbean

DynaActionForm是ActionForm的子类,可以创建带有动态属性结合的form beans,不需要开发者创建form bean类...
  • fandoudou123
  • fandoudou123
  • 2016年05月11日 15:37
  • 492

轻松使用FormBean,摆脱繁重的FormBean的生成、改写......(lazyBean的使用)

我们在使用struts的时候免不了生成大量的formBean,当有业务变化的时候还要修改大量的get、set方法,虽然IDE可以帮助生成这些get、set方法,但是数量多的时候也比较麻烦!最近因为工作...
  • issgates
  • issgates
  • 2006年08月17日 10:01
  • 550

【面试】FormBean的作用

FormBean是一种JAVABean,除了具有JAVABean的常规方法,还包含一些特殊方法,用于验证表单数据,以及将其属性重新设置为默认值(reset方法)。 FormBean用来进行View组件...
  • qq_36877577
  • qq_36877577
  • 2017年03月23日 11:27
  • 81

【Strurs1】FormBean创建错误!

问题:        当访问某个jsp页面时显示:..............................can not create com.test.form.LoginForm     ...
  • Jason_xcj
  • Jason_xcj
  • 2012年10月26日 01:29
  • 252

静态和动态FormBean

Struts1.2框架组件        1.视图组件           Struts1.2框架为视图层提供的组件主要是Struts标签和ActionFormBean对象,主要实现国际化、网页HTM...
  • java_pengjin
  • java_pengjin
  • 2010年11月03日 18:02
  • 1361

扫盲:POJO、VO、PO、FormBean什么关系

POJO、VO、PO、FormBean什么关系  POJO:Pure Old Java Object,符合Java Bean属性规范的简单Java对象,通常也称为VO(Value Object,值对象...
  • zoubf
  • zoubf
  • 2015年11月23日 20:49
  • 872

持久类及FormBean类构建器

newxy新坐标持久类及FormBean类构建器Eclipse下有很多插件,用于从数据库导出持久类文件,如果你想在不打开eclipse这样的工具情况下得到持久类文件,可以试试newxy的持久类生成器。...
  • nlhlx
  • nlhlx
  • 2006年09月30日 01:49
  • 821
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:(valildate)Validate下创建formbean
举报原因:
原因补充:

(最多只允许输入30个字)