ADF: 理解Manage bean 的scope

在Fusion web application中,类似ADF的Manged bean和binding container的生命延续是通过scope属性进行设定的。scope属性有6种类型: Applicaiton scope, Session, Page flow scope, Request scope, Backing bean scope, View scope。

可以通过RequestContext API来得到scope信息。

1,这6种scope的定义和区别如下:

Applicaiton scope: 应用的整个生命周期,从ADF应用在服务器中启动被访问开始。

Session scope: 在一个session中有效;不同的浏览器window会使用同一个session,可以使用page flow scope或view scope来区分不同window中的对象。

Page flow scope: 不同的有边界的task flow具有不同的page flow scope。Page flow scope不是标准的JSF scope,所以,在引用manged bean的时候,要使用#{pageFlowScope.MyBean}的形式,Backing bean scope和View scope类似。

Request scope: 该级别object的有效期是从一次HTTP request开始,到这次HTTP request结束。

Backing bean scope: 只使用在JSFF和declarative component中,也是从一次HTTP request开始到结束。

View scope: View ID变化,view scope就发生变化。

2,Relationship Between Scopes and Page Flow:

3,总结

1)在有边界的task flow中,不要使用applicaiton scope和session scope,这两种类型的scope的生命周期比task flow要长。

2)在有边界的task flow中传递值的时候,请使用page flow scope;

3)如果需要为UI组件存储信息,请作用request scope;

4)JSFF和declarative component对应的backing bean scope只能是backing bean scope。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值