サーバー側の状態保存は、JSF 1.1_01にデフォルト設定されています。JSFでのサーバー側の状態保存に関する現在の問題は、JSF 1.2では解決される予定です。それまでは、ADF Facesが提供するクライアント側の状態保存を使用できます。
ADF Facesには、クライアント側の状態保存方法が導入されています。これは、クライアント側の状態保存の実用面での利点と、改良されたJSF 1.1サーバー側(HttpSession
)の状態保存を組み合せた方法です。クライアント側の状態保存を使用する利点は、次のとおりです。
HttpSession
のサポート
ADF Facesでのクライアント側の状態保存ではトークンが使用されるため、リクエストごとにサーバー/クライアント間で送信される膨大な非表示フィールドに対する書込みは不要です。かわりに、HttpSession
に保存された状態ブロックを識別する単純なトークンがクライアントに保存されます。
ADF Facesでのクライアント側の状態保存を有効にするには、コンテキスト構成パラメータjavax.faces.STATE_SAVING_METHOD
をclient
に設定し、web.xml
ファイルで次のコンテキスト構成パラメータを使用します。
oracle.adf.view.faces.CLIENT_STATE_METHOD
: 有効な値はtoken
またはall
です。
token
ですが、クライアントへのトークンは保持されるため、同じページが繰り返し出現するのを明確にできます。フェイルオーバーHttpSessionはサポートの対象です。これによって、JSF1.2で提供される予定のサーバー側のデフォルトの動作と一致します。
all
を使用します。これは、JSF 1.1のクライアント側の状態保存の動作と一致しますが、HttpSessionの使用を望まない開発者には役立ちます。
oracle.adf.view.faces.CLIENT_STATE_MAX_TOKENS
: ユーザーごとに保存するトークン数を定義するオプション・パラメータで、デフォルトは15です。この値を超えると、最も古い過去に表示されたページのトークンが事実上破棄されます。これは、「戻る」ボタンを頻繁に使用したり、同時に複数のウィンドウをオープンするユーザーに影響を与えます。フレームに大きく依存するHTMLアプリケーションを作成している場合は、この値を増加する可能性があります。
注意: コンテキスト・パラメータjavax.faces.STATE_SAVING_METHOD
をserver
に設定すると、ADF Facesは、JSF 1.1で提供されるサーバー側の状態保存の動作にデフォルト設定します。
web.xml
の一部:
<context-param>
<param-name>oracle.adf.view.faces.CLIENT_STATE_METHOD</param-name>
<param-value>token</param-value>
</context-param>
<context-param>
<param-name>oracle.adf.view.faces.CLIENT_STATE_MAX_TOKENS</param-name>
<param-value>20</param-value>
</context-param>
JSFでのクライアント側およびサーバー側の状態保存について
ADF Facesのweb.xml構成について
Copyright © 1997, 2006, Oracle. All rights reserved.