ADF initContext和prepareModel之间的区别,因为它们都通过执行buisness服务来准备数据,通过绑定容器(Map对象)来实现。ADF生命周期阶段差异
1
A
回答
3
ADF和调用initContext prepareModel,因为两者均是通过执行楼内设有商务服务
这是不太正确的准备数据。 initContext
设置了BindingContext,它确保DataBindings.cpx
的内容被初始化,并且准备页面的绑定容器。 prepareModel
是数据查询的执行点。
另一个执行点,如Timo's answer所示,是PrepareRender
。建议尽量保持迭代器的默认设置,这是“延迟”,在这种情况下,只有那些迭代器被刷新并被查询具有UI依赖性。
3
ADF模型生命周期阶段:
- 调用initContext树立生命周期,工作出了什么PageDefs加载。
- prepareModel创建绑定对象并将其添加到HTTP请求中。此时也评估参数。
- applyInputValues处理从页面发布的值,并建立一个内部绑定列表来更新,并根据需要执行方法。
- validateInputValues将客户端验证程序应用于applyInputValues阶段提供的更新列表。这些验证器被定义为输入组件内嵌套的f:validator和af:convertNumber组件。
- processUpdateModel将已验证的更改发送到绑定对象到模型图层。
- validateModelUpdates管理来自Model层的验证错误。
- processComponentEvents处理从applyInputValues阶段排队的所有侦听器和动作事件。
- metadataCommit管理框架的运行时定制功能的一部分。如果用户以某种方式定制了页面,例如在屏幕上移动组件或通过WebCenter添加任务流,那么屏幕上的这些个性化设置将被保存此时转移到元数据存储库(MDS)。
- prepareRender是在页面显示前执行的最后阶段。
注意,在某些情况下(如一个模态对话框),下面的代码不一定会在页面已经被渲染后火:
public void afterPhase(PagePhaseEvent pagePhaseEvent) {
if (pagePhaseEvent.getPhaseId() == Lifecycle.PREPARE_RENDER_ID) {
injectRedirect();
}
}
这可以防止服务器代码能够检查在文件被渲染后立即使用af:document。例如,下面将失败,因为没有可用的文档:
return context.getViewRoot().getChildren().get(0).getClientId().equals("doc0");
相关问题
- 1. 怪异片段生命周期误差
- 2. ADF partialSubmit生命周期
- 3. Maven Mojo未知生命周期阶段
- 4. 竹阶段和Maven生命周期
- 5. 未知的生命周期阶段“运行”。您必须指定有效的生命周期阶段
- 6. 在Maven中,我如何定制生命周期阶段?
- 7. 试图了解React的生命周期阶段
- 8. JSF生命周期过程验证阶段
- 9. 当Maven执行阶段或目标或生命周期?
- 10. 如何排除Maven的生命周期阶段
- 11. Android:片段到片段生命周期
- 12. 所有java生命周期之间的差异
- 13. 如何跳过多生成模块中的生命周期阶段
- 14. 在每个ActiveRecord模型生命周期阶段会发生什么?
- 15. 卡塔利娜生命周期异常
- 16. jQuery - 周期略有差异
- 17. 片段生命周期方法序列
- 18. 了解片段活动生命周期
- 19. 的Android片段生命周期和FragmentManager.add()
- 20. servlet生命周期
- 21. viewController生命周期
- 22. MarshalByRefObject生命周期
- 23. BroadcastReceiver生命周期
- 24. JSF2.0生命周期
- 25. JVM生命周期?
- 26. System.Timers.Timer生命周期
- 27. X509Certificates生命周期
- 28. PreferenceActivity生命周期
- 29. ScheduledExecutorService生命周期?
- 30. UIControl生命周期
这是否意味着在prepareRender阶段还会执行buisness服务,即组件被更新为其partialTrigger设置在其他组件上的组件。 – user530158 2012-07-31 06:23:55
实际上阶段是准备渲染:http://docs.oracle.com/cd/E15051_01/web.1111/b31974/adf_lifecycle.htm它是在准备渲染之前调用的。在ADF中,您有两个常用的刷新钩子:准备模型并准备渲染。默认设置是“延迟”。这里的刷新是针对从UI组件引用的那些绑定的呈现响应。刷新可能不会重新执行数据库中的查询,但最初会刷新ADF中保存的迭代器。如果数据需要通过查询,那么这是当它发生 – 2012-08-03 05:32:56
谢谢弗兰克,评论真正有助于理解ADF的生命周期。 – user530158 2012-11-27 05:41:26