JSF控件的immediate属性和页面生命周期
JSF中的控件基本都有immediate属性,对于这个属性的使用总结如下,更详细内容可参考Oracle官方文档。
1,为了更好的理解immediate属性,先看一下JSF页面的生命周期:
JSF页面的生命周期有六个,可参考下面的图;ADF页面是建立在JSF页面基础上的,它的生命周期包括JSF页面的六个生命周期外,还包括Init Context and Prepare Model、Validate Model Updates、Metadata Commit和Prepare Render几个阶段。JSPX页面具有JSF页面的生命周期还是具有ADF页面的生命周期,要看页面是在faces-config.xml还是 adfc-config.xml中管理的。对于生命周期的详细内容可参考Oracle官方的ADF开发手册。

2,控件的immediate属性与控件(component)的转换校验逻辑关系紧密。通常,页面控件中的值在Process Validations阶段进行转换校验(可参考<af:inputListOfValues>的API);当设置一个控件的immediate属性为true的时候,控件中的值将会提前在Apply Request Values阶段进行转换校验。
1) 对于输入控件,immediate为true的时候,该控件的输入值的校验会比immediate为false的早,可以理解为立即执行校验。当该控件上的校验失败的时候,该控件所在页面的生命周期直接跳转到Render Response阶段,并且所有immediate为false的控件都不执行校验操作;如果控件上的校验成功,并且控件的newValue与oldValue不同,就会在Apply Request Values阶段触发一个ValueChangeEvent,而不是常规模式下的Process Validations阶段,并且这个ValueChangeEvent的执行也早于这个控件上的其他ActionListener。
2) 对于命令控件,如果immediate为true,页面的生命周期直接跳转到Render Response阶段,忽略掉validation和model update等阶段。经常使用的是Cancel按钮。
Reference:
Oracle Fusion Middleware 11g: Build Applications with ADF I(Volume I • Student Guide)(D53979GC11)
http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e12419/tagdoc/af_inputListOfValues.html
Fusion Developer's Guide for Oracle Application Development
转载自:http://blog.csdn.net/luyushuang/article/details/6254889
程序员的基础教程:菜鸟程序员
JSF控件的immediate属性和页面生命周期的更多相关文章
- WebForm页面生命周期及asp.net运行机制
1.先上几张原理图着重理解: 现在针对第四副图原理进行解析: 流程: 1.浏览器发送请求 2.服务器软件(IIS)接收,它最终的目的就是为了向客户输出它请求的动态页面生成的html代码. 3.服务器不 ...
- ASP.NET页面生命周期与控件生命周期
ASP.NET页面生命周期 (1)PreInit 预初始化(2)Init 初始化(3)InitComplete 初始化完成(4)PreLoad 预加载(5)Load 加载(6)LoadComplete ...
- delphi按钮控件的default属性
delphi按钮控件的default属性用于设置默认命令按钮,.设置为true时,按[Enter键]相当于用鼠标单击了该按钮 .窗口中如果有多个按钮的default是true的话,就根据tabinde ...
- WebForm页面生命周期WEBFORM_ASPNET控件树的生成和作用
WebForm页面生命周期WEBFORM_ASPNET控件树的生成和作用 摘要 页面类是如何结合后台文件类生成整个页面的HTML的代码和后台输出的代码输出到浏览器中呢?这就牵扯到Asp.net页面生命 ...
- ASP.NET Button控件的UseSubmitBehavior属性引发的血案
这里先不说标题上的UseSubmitBehavior属性是什么,先说下面这种情况. 通常,在我们写一个表单页面的时候,最下方会有“提交”和“返回”字样的两个按钮.顾名思义,它们的功能大家都知道,但是一 ...
- 控件gridview的属性全集
1. GridView控件的属性 表10.6 GridView控件的行为属性 属性 描述 AllowPaging 指示该控件是否支持分页. AllowSorting 指示该控件是否支持排序. Auto ...
- Asp.net页面生命周期详解任我行(2)-WebForm页面生命周期WEBFORM_ASPNET控件树的生成和作用
摘要 页面类是如何结合后台文件类生成整个页面的HTML的代码和后台输出的代码输出到浏览器中呢?这就牵扯到Asp.net页面生命周期中一个很重要的概念控件树.服务器以反射的方式创建了页面类对象 内容 我 ...
- Winform中使用控件的Dock属性设计窗体布局,使不随窗体缩放而改变
场景 在新建一个Winform窗体后,拖拽控件设置其布局如下 如果只是单纯的这么设计,我们在运行后,如果对窗口进行缩放就会导致如下 所以我们需要在设计页面布局时对控件进行定位设置. 注: 博客主页:h ...
- Error-ASP.NET:由于未能找到 id 为“FileUpload1$gvFiles$ctl02$lnkBtnRemoveFile”的控件或在回发后将同一 ID 分配给另一个控件,导致发生错误。如果未分配 ID,请显式设置引发回发事件的控件的 ID 属性以避免此错误。
ylbtech-Error-ASP.NET:由于未能找到 id 为“FileUpload1$gvFiles$ctl02$lnkBtnRemoveFile”的控件或在回发后将同一 ID 分配给另一个控件 ...
随机推荐
- [转]Tornado get/post请求异步处理框架分析
转自: http://m.blog.csdn.net/blog/joeyon/41956027 首先说下环境,python2.7,Tornado3.0 然后本文讨论的不是Tornado底层如何用epo ...
- python_基础算法
本篇主要实现九(八)大排序算法,分别是冒泡排序,插入排序,选择排序,希尔排序,归并排序,快速排序,堆排序,计数排序.希望大家回顾知识的时候也能从我的这篇文章得到帮助. 概述 十种常见排序算法可以分为两 ...
- Linux内存管理大图(第三稿)
http://bbs.chinaunix.net/thread-2018659-2-1.html 描述讨论在http://bbs.chinaunix.net/thread-3760371-1-1.ht ...
- mysql监控以及调优
mysql 优点: 简单易用,成本低,易扩展,复制功能领先 mysql的生命周期: Mysql服务器监听3306端口>验证访问用户>创建mysql线程>检查内存(Qcache)> ...
- MySQL优化十大技巧
转自:https://m.2cto.com/database/201701/557910.html MYSQL优化主要分为以下四大方面: 设计:存储引擎,字段类型,范式与逆范式 功能:索引,缓存,分区 ...
- MySQLNonTransientConnectionException: No operations allowed after connection closed
原因分析 查看了Mysql的文档,以及Connector/J的文档以及在线说明发现,出现这种异常的原因是: Mysql服务器默认的"wait_timeout"是8小时,也就是说一个 ...
- as2 loadClip
loadClip(url:String, target:Object) : Boolean target是直接被赋值,而不是add进去
- 树莓派3用create_ap变身无线AP
1.git clone https://github.com/oblique/create_ap.git2.cd create_ap3.sudo make install就这样安装好了4.接下来安装依 ...
- oracle启动过程
Oracle 的启动需要经历四个状态,SHUTDOWN .NOMOUNT .MOUNT .OPEN. SHUTDOWN状态 ...
- unity WWW加载进度条
using UnityEngine; using System.Collections; public class testProgress : MonoBehaviour { void Start ...