网站设置gif禁用,建设网站企业网银登录,南山商城网站建设哪家便宜,外贸网站建设平台哪个好在本文中#xff0c;我将重点介绍ADF绑定层#xff0c;并探讨当最初从浏览器请求带有某些数据的ADF页面时#xff0c;它如何工作。 Oracle ADF提供了自己的JSF生命周期扩展版。 实际上#xff0c;ADF扩展了标准JSF生命周期实现类#xff0c;并提供了ADF阶段侦听器#x… 在本文中我将重点介绍ADF绑定层并探讨当最初从浏览器请求带有某些数据的ADF页面时它如何工作。 Oracle ADF提供了自己的JSF生命周期扩展版。 实际上ADF扩展了标准JSF生命周期实现类并提供了ADF阶段侦听器该侦听器会在阶段事件之前和之后得到通知。 这是扩展了相应ADF阶段的JSF生命周期阶段的列表 恢复视图 ADF初始化上下文 应用请求值 Craft.io验证 更新模型值 ADF验证模型更新 调用申请 ADF元数据提交 渲染响应 ADF准备渲染 请求有两种类型 初始请求和回发 。 在初始请求期间生命周期非常短。 在“ 还原视图”阶段之后生命周期会跳至“ 渲染响应”阶段跳过其余阶段。 当用户最初从浏览器请求ADF页面时应用服务器会使用一系列Servlet过滤器对请求进行一些预处理。 其中之一是ADFBindingFilter 。 此筛选器在Web.xml文件中定义并且需要将ADF绑定应用于操作。 因此当此过滤器处理请求时它将在当前会话中查找绑定上下文 如果不存在则将创建一个新实例。 绑定上下文 作为DataBindings.cpx文件的运行时表示形式包含页面及其页面定义文件之间的映射。 它还包含应用程序中使用的数据控件的列表。 有了所有这些框架就调查了哪些数据控件和哪些绑定容器将参与请求。 ADFBindingFilter查找或创建每个必需的数据控件的实例并调用其beginRequest方法。 绑定上下文初始化后控件将返回到负责处理JSF生命周期阶段的Faces Servlet。 当JSF Lifecycle处理Restore View阶段时它将使用beforePhase事件通知ADF阶段侦听器 。 ADF阶段侦听器又将事件分派给所有内部阶段侦听器例如Update Binding Listener 。 然后通过在Binding Context上调用findBindingContainerByPath来初始化所需的绑定容器 。 因此 绑定上下文 数据控件和绑定容器已在请求的开始处创建。 该框架使用ADF PageLifeCycle类以通过ADF阶段扩展JSF生命周期。 ADF阶段侦听器侦听Restore View阶段的afterPhase事件并在ADF PageLifeCycle类上调用适当的方法。 这样标准的JSF restoreView阶段已扩展为两个ADF阶段-InitContext和PrepareModel 。 在PrepareModel阶段 ADF PageLifecycle在绑定容器上调用刷新方法并将阶段标识符作为参数传递。 在准备模型期间 绑定容器将执行其refresh属性设置为prepareModel的任何可执行条目迭代器操作等。 这篇文章详细介绍了refresh属性。 在考虑对该页面的初始请求时我们将跳过下一个生命周期阶段并跳至渲染响应阶段。 ADF阶段侦听器侦听“ 渲染响应”阶段的beforePhase事件并通过调用一个ADF PageLifeCycle类的对应方法在“ ADF阶段准备渲染”中对其进行扩展。 准备渲染阶段也称为渲染模型 。 在此阶段框架再次在绑定容器上调用refresh方法并且此时将其refresh属性设置为renderModel的那些迭代器被执行。 JSF Lifecycle将控件转发到页面渲染器在这里渲染UI组件时它们需要来自基础模型的数据。 刷新属性设置为延迟 默认值的那些迭代器将在此处执行。 在请求的最后 ADF绑定筛选器在参与请求的每个数据控件上调用endRequest方法。 这导致基础应用程序模块被释放回应用程序模块池。 而已 翻译自: https://www.javacodegeeks.com/2015/06/understanding-adf-bindings-in-adf-lifecycle.html