ADF_ManagedBean的概念和管理(概念)
20150623 Created By BaoXinjian
一、摘要
ManagedBean基本概念
?
二、ManagedBean Scope概念
主要說明ADF的ManagedBean中的不同Scope。
由于ADF Controller是在JSF的基礎上擴展而來的,因此,在ADF中,在包含了JSF的三種Scope的基礎上,又擴展出了另外三種Scope,使ADF Controller在實際應用中更為靈活和方便。
1. JSF標準Scope
(1). applicationScope
(2). sessionScope
(3). requestScope
2. ADF Controller擴展Scope
(1). pageFlowScope
(2). backingBeanScope
(3). viewScope
?
三、ManagedBean Scope解析
下面將針對每種Scope進行詳細說明,以作用域由大到小排列。
1. applicationScope
就從字面意思就可以看出,applicationScope是作用范圍最廣的,在作用于整個應用的運行周期內。
通常情況 下,applicationScope中的參數等都是在應用啟動(web server啟動)時即被初始化。
因此,一般對于獨立于特定的職責和角色的,且需要在整個應用的周期內都需要的資源會定義在 applicationScope的ManagedBean中。
2. sessionScope
僅次于 applicationScope的是sessionScope,sessionScope作用于從用戶登錄開始到用戶主動結束該session,
一般來 說,都會為session設置超時時間,若超過服務器設置的超時時間的話,則該session被自動釋放。
在實際的應用中,經常會將類似于用戶信息,預置 文件信息或授權信息等設置到session中。
3. requestScope
requestScope的作用周期是在一次request之內,
只要是在同一個request內,即使是在不同的頁面也可以訪問到作用在requestScope的內容。
4. pageFlowScope
在 ADF中引入了Task-Flow的概念, pageFlowScope作用于同一個Task Flow中,
例:分別有A/B/C三個頁面,同屬于一個Task Flow,D頁面不屬于該Task Flow,
且A/B/C三個頁面可以通過定義的action相互進行導航,同時也可以從這三個頁面導航到D頁面,建立pageFlowScope的Managed Bean此時,A/B/C三個頁面可以同時訪問到該Managed Bean中的屬性。
5. viewScope
viewScope是指view id發生更改之前都可用,即作用于同一頁面內,
例如,在不同頁面之間跳轉時,viewScope的Managed Bean中的數據都會丟失。
6. backingBeanScope
backingBeanScope 多用于page fragments和declarative components,由于同一個頁面中可能會擁有多個page fragments或declarative components,
因此,為了避免相互之間數據沖突,可以考慮使用backingBeanScope的Managed Bean。
7. none
none的意思是說,即使在同一個頁面,也不能訪問到彼此none scope的Managed Bean中的屬性。
8. 下面是上述六種Scope的生命周期示意圖:
?
?
Thanks and Regards
轉載于:https://www.cnblogs.com/eastsea/p/4594004.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的ADF_ManagedBean的概念和管理(概念)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使程序变为后台运行代码
- 下一篇: 【转载】知乎答案----孙志岗----G