我对 Oracle 的 ADF 很陌生,想知道 ADF 和 Sun 的 JSF 参考实现有什么区别?
4 回答
作为多个企业项目中 ADF Faces 的用户,我对批准的答案略有不同——ADF Faces 可以用作您的 JSF 实现或组件库。如果用作您的 JSF 实现,则与 JSF 规范有所不同,例如更长的生命周期(ADFFaces 在原始 JSF 生命周期中添加了两个步骤)以及用于存储比请求长但比会话短的变量的附加范围(即在“流程范围”中) )。
如果您最终使用 ADF Faces 作为您的 JSF 实现,您需要知道您正在以 Oracle JSF 实现方式做事(因此您通常只能在 Oracle 文档中找到您正在尝试做的事情的答案,这可能是不足)。
ADF 是一个完整的框架。它由 ADF Faces 和 ADF 业务组件组成,使其成为一个完整的框架,从模型到控制器再到视图。使用 ADF 和 JDeveloper,开发人员无需接触任何 Java 代码(理论上)就可以开发应用程序。我仍然发现自己在使用一些 java,但是我尝试将其限制在尽可能少的范围内,因为这是一个迁移项目,传入的非 java 开发人员将在其中工作。(是的,他们最终将不得不学习 Java)。
以下是一些未正确实现或在原版 JSF 中完全缺失的内容。
工装
与业务层的声明式绑定,一直到数据库或 Web 服务或内容服务。
可重用的任务流,使您可以轻松地在页面之间共享用户界面的片段,而不是从头开始开发每个页面。
国际化
能够使用 webcenter 扩展提供可定制和个性化的页面
能够嵌入来自 Oracle Business Intelligence 或其他来源的高级数据可视化。
ADF 可以完成以上所有工作,甚至更多。
ADF Lifecycle is ptimized life cycle.
ADF component can get refresh within their boundary (value change event can occur only for the component without disturbing other components. when u refresh the table (like scrolling down to fetch (Say fetch mode)) u can get the data without any validation error in the page.
as data within the table boundary only getting refreshed.
There is client side life cycle in ADF, In case of validation error , adf will avoid unnecessary round trips.(not sure how it di fferes from JSF)