ADF Facesでは、コンポーネントの変更を複数のリクエストにわたって存続できます。たとえば、元のページに戻ったときに、表のソート順やツリーの開いた状態を自動的に回復できます。変更永続性をサポートするためのADF Faces APIは、パッケージoracle.adf.view.faces.change
に格納されています。
要約すると、変更とは保持する必要があるコンポーネントの特性です。変更は、コンポーネントとそれに関連するレンダラの両方で作成され、コンポーネントの状態の変化を反映できます。変更は、ComponentChange
クラスのインスタンスによって記述されます。このクラスには、次の要素があります。
ComponentChange
の名前を指定する識別子(各コンポーネントごとに指定の識別子を持つComponentChange
は1つのみ)
changeComponent()
メソッド
ADF Facesでは、ユーザー操作によって直接生じた変化に対して変更が自動的に生成されますが、コンポーネント値の変更に対しては生成されません(これはJSFのライフサイクルで処理されます)。ChangeManager
は、変化の蓄積を管理し、その永続性も処理します。アプリケーションにはChangeManager
クラスのシングル・インスタンスがあり(AdfFacesContext
クラスを介してアクセス可能)、次の処理を担当します。
ChangeManager
はアプリケーション・スコープですが、セッションとリクエスト・スコープの管理状態とともに機能し、セッション・スコープでの変更を保存することで変更永続性を処理します。変更は、変更が追加された同じ順序で、後続するビューの作成時に自動的に適用されます。
変更を保持するために必要なコンポーネント(またはレンダラ)の処理は、ComponentChange
インスタンスの作成、ChangeManager
の取得、およびComponentChange
の登録のみです。すべてのChange
クラスの詳細は、ADF FacesのJavadocを参照してください。
adf-faces-config.xmlのChangeManager
インスタンスを構成するには、次のようにします。
コンポーネント属性を変更した後のページのリストア、コンポーネントの追加、変更、順序変更、およびファセットの追加と削除を行うために、暗黙的および明示的な変更登録を使用する例については、ADF Faces変更永続性のデモ・ファイルも参照してください。
Copyright © 1997, 2007, Oracle. All rights reserved.