我对Oracle的ADF很陌生,想知道ADF和Sun的JSF参考实现有什么区别?
答案 0 :(得分:35)
作为ADF Faces在几个企业项目中的用户,我对批准的答案略有不同 - ADF Faces可用作您的JSF实现或作为组件库。如果用作JSF实现,则与JSF规范存在差异,例如更长的生命周期(ADFFaces向原始JSF生命周期添加两个步骤)以及用于存储比请求更长但比会话更短的变量的额外范围(即在“进程范围”中) )。
如果最终使用ADF Faces作为JSF实现,则需要注意您正在使用Oracle JSF实现方式(因此您通常只能找到您在Oracle文档中尝试执行的操作的答案,这可能是缺乏的)。
答案 1 :(得分:17)
ADF是一个完整的框架。它由ADF Faces和ADF业务组件组成,使其成为一个完整的框架,模型供控制器查看。使用ADF和JDeveloper,开发人员可以开发应用程序,而无需触及任何Java代码(理论上)。我仍然发现自己使用了一些java,但是我尝试将其限制为尽可能少,因为这是一个迁移项目,其中传入的非Java开发人员将工作。 (是的,他们最终必须学习java。)
答案 2 :(得分:8)
以下是一些未正确实现或在vanilla JSF中完全丢失的内容。
工具
与Business层声明性绑定,一直到数据库或Web服务或Content Services。
可重复使用的任务流,您可以轻松地在页面之间共享用户界面的片段,而不是从头开发每个页面。
国际
能够使用webcenter扩展程序提供可自定义和可个性化的页面
能够从Oracle商业智能或其他来源嵌入高级数据可视化。
ADF完成上述所有操作以及更多内容。
答案 3 :(得分:2)
ADF生命周期是生命周期的重点。
ADF组件可以在其边界内刷新(只有组件才会发生值更改事件而不会干扰其他组件。 当你刷新表时(比如向下滚动以获取(Say get模式))你可以在页面中没有任何验证错误的情况下获取数据。
因为表边界内的数据只能刷新。
在ADF中存在客户端生命周期,如果验证错误,adf将避免不必要的往返。(不知道它是如何di 来自JSF的成员)