ADF Faces Life Cycle繼承自JSF Life Cycle,但是對JSF Life Cycle進行了擴展,添加了一些新的功能。比如:客戶端的Value Life, 允許單獨提交請求的SubForm控件,和新增的Scope。如下圖:
NOTE: 圖1,2,3,4,5分別來自於下面Oracle的官方文檔:
http://www.orastudy.com/oradoc/selfstu/fusion/web.1111/b31973/af_lifecycle.htm#ADFUI9852
圖1
ADF控件的immediate屬性用來改變控件在ADF Faces Life Cycle中狀態的遷移在,比如:
如果設置按鈕的immediate屬性爲true的話,那麼按鈕的ActionEvent就會在APPLY REQUEST VALUE狀態之後分發,最後跳過中間所有的狀態,直接到RENDER RESPONSE狀態.
如果設置輸入框的immediate屬性爲true的話,那麼輸入框的值轉換,驗證,事件分發等都會提前到APPLAY REQUEST VALUE狀態進行,而不是原先的PROCESS VALIDATION狀態。
下面的表格依次介紹了設置了immediate屬性的文本框組件,按鈕組件在發送請求時,ValueChangeEvent和ActionEvent事件處理的時機以及Life Cycle狀態的遷移情況:
1. 非Immediate文本框,非Immediate按鈕組合,參見表格中的1-3行以及圖2;
2. 非Immediate文本框,Immediate按鈕組合,參見表格中的4-6行以及圖3;
3. Immediate文本框,非Immediate按鈕組合,參見表格中的7-9行以及圖4;
4. Immediate文本框,Immediate按鈕組合,參見表格中的10-14行以及圖5;
圖2
圖3
圖4
圖5