您的位置:首页 > 编程语言 > Java开发

struts中FormBean的reset和validate方法

2009-10-22 14:07 405 查看
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框架进行验证,这里就不做说明了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: