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

2005-01-26 Struts中actionform的reset方法

2007-08-10 11:12 274 查看
第一步:对象的可视范围:
request

session

application

page


Request

:在一个请求周期内有效。就是从你点击页面上的一个按钮开始到服务器返回响应页面为止(包括响应页面)。

Session

:在一个用户与服务器建立连接的整个过程中有效。

Application

:在整个
web
应用程序内有效。

Page

:仅在一个
jsp
页面内有效。

第二步:

ActionForm

在你确定的有效期(可视范围)内是唯一的。

第三步:

在每次为
ActionForm
赋值前调用它的
reset
方法。作用是使
ActionForm
中的值恢复初始状态。在应用中我们可以通过在
reset
中为变量赋初值的方式,使得页面上的某个对象有显示值。

第四步:

可视范围与赋值前的初始化结合。

由于第二步所述特性,如果可视范围是
request
,则
reset
方法并不是很重要,因为你每次调用时都会产生一个新的
ActionForm
实例,所以你所操作的
ActionForm
不会与别人分享同时也就不会受别人的影响;

如果可视范围是
session
,由于在
session
范围内此
ActionForm
是唯一的,所以你在
session
范围内需要用到此
ActionForm
的地方调用的都是同一个
ActionForm
,要是你没有在
reset
中对变量赋初值那么前一次调用
ActionForm
是为它赋的值将在此次调用时有效,这到也没什么。但是,如果恰巧再次调用时你仅仅需要为
ActionForm
中的一部分变量赋值,那么其余的变量将保持上一次得到的值,这样你就得到了一个“新旧混合体”,我想这多半不是你所期望的;

如果可视范围是
application
,那其影响就更是不难理解了,这时不但是你自己会影响你自己,使用应用的其他用户的操作也会影响到你。

第五步:

知道了
reset
方法的作用和
ActionForm

scope
内唯一的特性后就为我们灵活处理
ActionForm
的行为提供了基础。比如说你现在需要跨过多个页面收集数据信息,这时你就可以把
scope
设置为
session
,并且不实现
reset
方法――这样在每个页面
put
数据时都不会将之前收集的数据清空,最后在你收集完数据后在
Action
中调用
ActionForm
中你自定义的初始化方法,如:
resetField


在具体的我也想不出了,还是要大家在应用时多多体会这些特性,这样才能把架构的威力发挥到最大。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: