ShowTable of Contents
一つ前の記事では、XPages における JSF のライフサイクルと、XPage やカスタムコントロールのページイベントとの関係をまとめました。
XPages における JSF ライフサイクル - ページイベント処理のタイミング
この記事では、コントロールがサポートするさまざまなプロパティがライフサイクル中でいつ評価されるのか
(JavaScript ロジックが割り振られていた場合には、そのロジックが実行される)、イベントがいつ実行されるのかをまとめます。
入力系コントロールの場合
次の簡単なXPageを使って評価タイミングを見ていきます。
パネルが2つ配置され、1つめのパネル内に、計算結果フィールドとコンボボックスが配置されています。
タイミングを確認するのは、次のプロパティとイベント(太字)です。
- XPage
beforePageLoad/afterPageLoad/afterRestoreView/beforeRenderResponse/afterRenderResponse
- 計算結果フィールド
rendered/value
- コンボボックス
rendered/readonly/selectItems.value/onchange
注:
value はコントロールにバインドする値を指定するプロパティです。
rendered はコントロールを表示するかどうかを指定するプロパティです。
readonlyはコントロールを入力可能か表示専用で表示するかを指定するプロパティです。
また、コンボボックスの選択項目は、コンボボックス自身のプロパティではなく、その子要素である
selectItems の value プロパティとして指定します。
- コンボボックスで選択を行った場合 (ページ全体を更新)
- コンボボックスで選択を行った場合 (パネル2を部分更新する場合)
繰り返しコントロールの場合