理解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
上一篇: 作为一个合格程序员该做的事