2012-03-30 8 views
3

objectDataコントロールは、xpageアプリケーションのパフォーマンスを向上させるために使用できます。私はその背後にある基本的な考え方を理解していますが、それでも正しく機能するようにするのは難しいです。 objectDataをリピートコントロールの入力として使用すると、リピートのIDよりも別のrefreshIdでトリガされた部分リフレッシュ中に、リピートの不要なリフレッシュが回避されます。しかし、objectDataのキャッシュメカニズムのために、objectDataは周囲のdivの部分リフレッシュ中にリフレッシュされません。スコープを要求するように設定すると、objectDataがリフレッシュされますが、部分リフレッシュの問題によってrefreshId以外のデータソースもリフレッシュされます。 ちょっと変だけど、私は知っているが、私はそれをより良く説明する方法はわからない。xe:objectDataについて利用可能なドキュメントはありますか?

objectDataの使用方法に関するドキュメントやサンプルはありますか? JDBC sampleDbで1つのサンプルが見つかりましたが、それは役に立ちませんでした。

+0

さらに詳しい情報がある場合は、Ulrichにご連絡ください。ありがとうございます。 – pipalia

+1

ヒント:http://hasselba.ch/blog/?p=594 –

+0

@UlrichKrause - なぜマネージドビーンを使用しないのでしょうか?ボタンでupdate()を呼び出し、ELでバインドすることができます。 faces-configの更新には警告のみが必要です。 –

答えて

1

リピート/特定の行の使用例では、部分的な実行(execMode = "partial"/execId = "foo")を導入して、行の部分リフレッシュを補完します。これにより、コンポーネントツリーの実行が目的の行に優先され、指定されたターゲット領域外での冗長な処理が回避されます。

objectDataのドキュメントでは、実際にはXPagesJDBC.nsfサンプルデータベース(JDBC_RowSetDatasource.xsp)内にあります。このデータソースをデリゲートとして使用して、現在の「行」から特殊なDataContainerオブジェクトを作成する方法を簡潔に示しています逆に、保存プロセス中にDataContainerオブジェクトの特殊な保存を管理することができます。この例では、現在の行のSQL処理の委譲を処理していますが、同じアプローチが多くのユースケースで適用できます(例:基本的なビューはXML文書のビューです。カスタムのXML処理オブジェクトを介したobjectDataデータソース)。

関連する問題