0

我对 ADF 中使用的一些术语感到有些困惑,主要是关于Iterator Binding

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

1 回答 1

3
  1. Refresh 意味着将 Binding Layer 迭代器重新绑定到 VO 行集迭代器。当页面被重建并且绑定层在接收到页面请求时被重新创建时会发生这种情况。查询会导致 VO 重新查询数据源并重建行集迭代器。除非尚未创建 VO 行集,否则刷新不会导致(重新)查询。
  2. 根据需要,可以在生命周期的不同点进行刷新。正常设置“延迟”通常很好(请参阅下面的文档)。
  3. Refresh 指示何时重新绑定迭代器。

来自文档:ADF 文档 在运行时,可执行绑定根据其 Refresh 属性的值进行刷新。刷新迭代器绑定会将其重新连接到其基础 RowSetIterator 对象。刷新调用操作绑定会调用该操作。在刷新任何绑定之前,ADF 运行时会评估可执行文件中指定的任何 Refresh 和 RefreshCondition 属性。Refresh 属性指定应调用可执行文件的 ADF 生命周期阶段。RefreshCondition 属性指定应调用可执行文件的条件。您可以使用布尔 EL 表达式指定 RefreshCondition 值。如果您将 RefreshCondition 属性留空,则它的计算结果为真。默认情况下,刷新值设置为延迟。这意味着除非访问绑定的值(例如通过 JSF 页面上的 EL 表达式),否则绑定不会被执行。一旦调用,它将不会重新执行,除非绑定的任何参数值已更改,或者绑定本身已更改。在 Fusion Web 应用程序中使用 ADF 模型 12-29 创建 ADF 数据绑定 EL 表达式 有关如何刷新绑定以及如何设置 Refresh 和 RefreshCondition 属性的更多信息,请参阅第 21.2 节,“JSF 和 ADF页面生命周期。”

于 2013-03-23T18:41:41.297 回答