0

主にイテレータバインディングに関して、ADFで使用されるいくつかの用語について混乱しています。

  1. ADFのイテレータバインディングの更新フラグの目的は何ですか?
  2. いつ(ライフサイクルのどのフェーズで)更新を行うことが推奨されますか、またその理由は何ですか?
  3. ADF-speakでイテレータを更新することとイテレータクエリを実行することの違いは何ですか?
4

1 に答える 1

3
  1. 更新とは、バインディングレイヤーイテレーターをVO行セットイテレーターに再バインドすることを意味します。これは、ページが再構築され、ページ要求が受信されたときにバインディングレイヤーが再作成されたときに発生します。クエリを実行すると、VOはデータソースを再クエリし、行セットイテレータを再構築します。VO行セットがまだ作成されていない限り、更新によって(再)クエリが発生することはありません。
  2. 更新は、必要に応じてライフサイクルのさまざまな時点で実行できます。通常、「据え置き」の設定で問題ありません(以下のドキュメントを参照)。
  3. 更新は、イテレータをいつ再バインドするかを示します。

ドキュメントから:ADFドキュメント 実行時に、実行可能バインディングは、Refresh属性の値に基づいて更新されます。イテレータバインディングを更新すると、その下にあるRowSetIteratorオブジェクトに再接続されます。呼び出しアクションバインディングを更新すると、アクションが呼び出されます。バインディングを更新する前に、ADFランタイムは実行可能ファイルで指定されたRefreshおよびRefreshCondition属性を評価します。Refresh属性は、実行可能ファイルが呼び出されるADFライフサイクルフェーズを指定します。RefreshCondition属性は、実行可能ファイルが呼び出される条件を指定します。ブールEL式を使用してRefreshCondition値を指定できます。RefreshCondition属性を空白のままにすると、trueと評価されます。デフォルトでは、Refresh値はdeferredに設定されています。これは、その値にアクセスしない限り(たとえば、JSFページのEL式によって)バインディングが実行されないことを意味します。一度呼び出されると、バインディングのパラメーター値が変更されない限り、またはバインディング自体が変更されない限り、再実行されません。FusionWebアプリケーションでのADFモデルの使用12-29ADFデータバインディングEL式の作成バインディングを更新する方法、およびRefresh属性とRefreshCondition属性を設定する方法の詳細については、21.2項「JSFとADF」を参照してください。ページのライフサイクル。」

于 2013-03-23T18:41:41.297 に答える