术语“刷新”和“查询”对于ADF中的迭代器绑定意味着什么?

时间:2013-03-22 15:25:26

标签: oracle-adf

我对ADF中使用的一些术语感到困惑,主要是关于迭代器绑定

  1. ADF中迭代器绑定上的刷新标志的用途是什么?
  2. 何时(生命周期的哪个阶段)建议进行刷新?为什么?
  3. 刷新迭代器和查询 ADF中的迭代器有什么区别?

1 个答案:

答案 0 :(得分:3)

  1. 刷新意味着将绑定层迭代器重新绑定到VO行集迭代器。重建页面时会发生这种情况,并在收到页面请求时重新创建绑定层。查询会导致VO重新查询数据源并重建行集迭代器。除非尚未创建VO行集,否则刷新不会导致(重新)查询。
  2. 可以根据需要在生命周期的不同点进行刷新。正常设置“延期”通常很好(参见下面的文档)。
  3. 刷新表示何时重新绑定迭代器。
  4. 来自文档:ADF Docs 在运行时,可执行绑定将根据其Refresh属性的值进行刷新。刷新迭代器绑定会将其与其基础RowSetIterator对象重新连接。刷新调用操作绑定会调用该操作。在刷新任何绑定之前,ADF运行时会评估可执行文件中指定的任何Refresh和RefreshCondition属性。 Refresh属性指定应在其中调用可执行文件的ADF生命周期阶段。 RefreshCondition属性指定应调用可执行文件的条件。您可以使用布尔EL表达式指定RefreshCondition值。如果将RefreshCondition属性留空,则计算结果为true。 默认情况下,Refresh值设置为deferred。这意味着除非访问其值(例如,通过JSF页面上的EL表达式),否则不会执行绑定。一旦被调用,它将不会重新执行,除非绑定的任何参数值已更改,或者绑定本身已更改。 在Fusion Web应用程序12-29中使用ADF模型 创建ADF数据绑定EL表达式 有关如何刷新绑定以及如何设置Refresh和RefreshCondition属性的更多信息,请参见第21.2节“JSF和ADF页面生命周期”。