struts中FormBean的reset和validate方法

Author:兆庆  Write Time:2009-10-22

 

首先,FormBean常规都是继承自ActionForm的,控制器对FormBean的控制就以ActionForm为例。

 

一、reset方法:

1、对于每个request,控制器都会先调用ActionForm的reset()方法,然后将表单数据组装到ActionForm中。如ActionForm在request范围内,那么对于每个新的request请求都会创建新的ActionForm实例。新实例创建后,如果它的属性已经被初始化为默认值(例如其中一个属性为:private String name = null;相应getter和setter方法略),那么接着再在reset()方法中把属性设为默认值不是很有必要,这时可以让reset()方法为空。

例如:在每次提交表单的时候,给FormBean里面的属性赋值之前调用reset方法,避免在前一次操作时在FormBean中遗留一些脏数据。

2、对于session范围内的ActionForm,同一ActionForm实例会被多个请求共享,reset()方法在这种情况下极为有用。

3、简而言之:当scope(作用域)找对应的FormBean,并且能够找到时,就会对该FormBean进行初始化,并调用reset方法。

 

二、validate方法:

进行表单验证的方法,如果页面中利用JavaScript或者在ActionBean中有代码的逻辑验证,该方法可空。

需要使用时,实现方法分两步骤:

1、在struts-config.xml中设置action的validate属性为"true"(默认为"true"),

<action path="/updateUser"

type="com.cn.lively.action.UpdateUserAction"

name="userForm"

scope="request"

input="/jsp/updateUser.jsp"

cancellable="true"

validate="true" >

<forward name="success" path="/jsp/validator/updateUserResults.jsp"/>

</action>

2、在相应的FormBean中重写其中的validate方法,在validate方法中实现自己的数据验证逻辑。

 

当然实现表单验证也可通过validation框架进行验证,这里就不做说明了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值