理解ADF Faces Life Cycle

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

猜你喜欢

转载自peterlij.iteye.com/blog/1703186