Oracle® Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド 11gリリース1 (11.1.1.7.0) B52029-11 |
|
前 |
次 |
この章では、実行時に特定のUIにユーザーが行った変更をセッションの間永続させる方法について説明します。
また、変更が永続データ・リポジトリ内で永続されるようにアプリケーションを構成することもできます。そのように構成することで、アプリケーションを再度使用するときに変更内容が残っていることになります。この永続性を許可するには、完全Fusionテクノロジ・スタックの一部であるOracle Metadata Service (MDS)を使用する必要があります。MDSおよび完全Fusionスタックを使用することで、次の追加の永続性機能も提供されます。
追加の属性値の永続
検索条件の永続
UIのドラッグ・アンド・ドロップ操作の結果の永続
実行時のページ上のコンポーネントの並替え
実行時のページのコンポーネントおよびファセットの追加と削除
Oracle MDSを使用するための詳細および手順は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「実行時のユーザー・カスタマイズの許可」の章を参照してください。
この章では、次の項目について説明します。
多くのADF Facesコンポーネントで、ユーザーは実行時にコンポーネントの表示を変更できます。たとえば、ユーザーは、panelSplitter
コンポーネントのスプリッタの位置を変更したり、パネルに詳細コンテンツを表示するかどうかを変更できます。デフォルトでは、これらの変更はページ・リクエストの間有効です。ユーザーがページを終了して再度表示すると、コンポーネントはデフォルトの構成で表示されます。ただし、変更がユーザーのセッションの間永続するようアプリケーションを構成できます。このようにすると、ユーザーがアプリケーションを終了するまで、変更されたままになります。
表33-1に、デフォルトのパーソナライズ機能を提供するコンポーネントごとの変更を示します。
表33-1 暗黙的に永続する属性値
コンポーネント | 属性 | 実行時の効果 |
---|---|---|
|
|
ユーザーは、ヘッダーのアイコンを使用してコンテンツを表示または非表示にできます。ユーザーの直近のアクションに基づいて、詳細コンテンツが表示または非表示になります。 |
|
|
複数の |
|
|
ユーザーはパネルのサイズを変更でき、そのサイズは保持されます。 |
|
|
ユーザーはスプリッタのいずれかの面を閉じることができます。閉じられた状態は、ユーザーによる最終の構成として保持されます。 |
|
|
パネルのスプリッタの位置が、ユーザーによって最後に移動された位置のままになります。 |
|
|
エディタは、ユーザーが最後に選択したモード(WYSIWYGまたはソース)で表示されます。 |
|
|
現在の表示でアクティブとみなされる日は、アクティブな日のままになります。 |
|
|
現在アクティビティを表示しているビュー(日、週、月またはリスト)が保持されます。 |
|
|
ユーザーは、 |
|
|
ユーザーは、 |
|
|
ユーザーが |
|
|
ユーザーが |
|
|
ADF Facesの列は、ユーザーが実行時に並べ替えることができます。 |
|
|
ADF Facesの列は、スクロールされないように固定できます。列の |
|
|
列のコンテンツを折り返すかどうかを指定します。ユーザーがこの属性値を変更できるようにするコードを作成する必要があります。たとえば、ユーザーが値を |
|
|
選択された列は、ユーザーが最後に選択した列に基づきます。 |
|
|
ユーザーの直近のアクションに基づいて、列が表示または非表示になります。ユーザーがこの属性値を変更できるようにするコードを記述する必要があります。たとえば、ユーザーが値を |
|
|
列の幅が、ユーザーが最後に設定したサイズのままになります。 |
|
|
ADF Facesの表には、ユーザーが属性値で表の行をフィルタ処理できるコンポーネントを含めることができます。フィルタを使用するよう構成されている表では、ユーザーの直近のアクションに基づいて、フィルタは表示または非表示になります。ユーザーがこの属性値を変更できるようにするコードを記述する必要があります。たとえば、ユーザーが値を |
|
|
この属性は、現在の行範囲の最初の行の索引を表し、表示する行範囲の制御に使用されます。この属性の値は、 |
ユーザーによるセッションへの変更をアプリケーションで永続させるには、カスタマイズが有効になるようプロジェクトを構成する必要があります。
web.xml
ファイルでのカスタマイズが有効になるようアプリケーションを構成します。
セッション変更永続性を実装する手順:
アプリケーション・ナビゲータで、Webプロジェクトをダブルクリックします。
「プロジェクト・プロパティ」ダイアログで、「ADFビュー」ノードを選択します。
「ADFビュー」ページで、「ユーザー・カスタマイズの有効化」チェック・ボックスをアクティブにし、「セッションの継続時間」ラジオ・ボタンを選択して、「OK」をクリックします
セッションへの変更を保存するよう選択すると、JDeveloperでCHANGE_PERSISTENCE
コンテキスト・パラメータがweb.xml
ファイルに追加され、値がsession
に設定されます。このコンテキスト・パラメータでは、永続性の処理に使用されるChangeManager
クラスが登録されます。例33-1に、web.xml
ファイルのコンテキスト・パラメータを示します。
セッションへの変更を永続させるようアプリケーションを構成している場合、ビューIDに従って索引付けされたデータ構造内のセッション変数に変更が記録されます。後続の表示またはビューのリストア・フェーズでページがリクエストされるたびに、指定されたコンポーネントに対する変更がタグ・アクション・クラスで検索され、追加されたときと同じ順序で変更が適用されます。つまり、セッションの間に登録された変更は、同じセッションの後続のリクエストでのみ適用されます。
セッション永続性を使用すると、変更は特定のセッションのviewId
に対して、コンポーネントで記録されリストアされます。その結果、その変更がフラグメントまたはページのテンプレートに属するコンポーネントで適用されると、ページでそのフラグメントまたはテンプレートが使用される範囲でのみ適用されます。そのフラグメントまたはテンプレートが使用されるすべてのページに及ぶわけではありません。たとえば、プロジェクトにpageOne.jspx
およびpageTwo.jspx
JSFページがあり、どちらにもregion.jsff
ページ・フラグメントで定義されているフラグメントが含まれていて、さらにはshowDetail
コンポーネントが含まれているとします。pageOne.jspx
JSFページがレンダリングされ、showDetail
コンポーネント上のdisclosed
属性が変更されると、暗黙的な属性変更が記録され、pageOne.jspx
ページに対してのみ適用されます。ユーザーがpageTwo.jspx
ページに移動した場合、属性の変更は適用されません。