Web UI フレームワークを使用した状態管理の実装

Web UI フレームワークを使用する当アプリケーションをインストールすると、状態管理のデフォルトの実装が提供されます。

Ext JS JavaScript フレームワークでは、 Ext.state.Provider は状態プロバイダー実装の抽象基本クラスです。 このクラスは、型付き変数をエンコードおよびデコードするためのメソッドを提供します (Provider インターフェースの定義と日付を含む)。

独自の状態管理実装を提供することを希望する場合は、Ext.state.CookieProvider クラスにはこの実装のサンプルが含まれています。

状態を定期的に保存するために、データがサーブレットに送信され、このサーブレットは、このタスクを web.xml ファイルで指定されたクラスに委任します。 UI フレームワークでは、web.xml ファイル内のこのクラスが実装する必要のあるインターフェースが定義されています。

<context-param>
   	<param-name>scui-uistate-provider</param-name>
	   <param-value>
     com.sterlingcommerce.ui.web.platform.state.SCUIStateProvider
    </param-value>
</context-param>
デフォルトの状態プロバイダーは、Ext ライブラリーと次のように連携動作します。
  • 後続のアクションをより迅速に取得するために、コンポーネントの状態がローカルにキャッシュされます。
    注: これは、複数のページ・アプリケーションでは役に立たない場合があります。
  • ページのアンロード時に、使用可能な状態や変更された状態をデータベースに保存します。 この場合は、セッション・タイムアウトが発生していないと想定されています。
  • Ext ライブラリーは、状態に対応しているすべてのコンポーネントについて、状態取得メソッドを自動的に呼び出します。
  • Ext ライブラリーは、コンポーネントの状態が変化するたびに、状態設定メソッドを自動的に呼び出します。

デフォルトでは、状態管理実装は Ext JS ライブラリーに登録されていません。 状態管理実装はアプリケーションによって登録される必要があります。 これにより、アプリケーションが UI 状態の永続化を必要としない場合に、柔軟性が得られます。