JSFアプリケーションでデータを収集して表示するには、コンポーネントのタグ値をバッキングBeanの属性にバインドするか、またはコンポーネント・インスタンスをバッキングBeanにバインドできます。いずれの方法を選択するかは、コンポーネントをどの程度制御する必要があるかによって決まります。
値バインディングを使用してタグ属性をバッキングBean(またはその他のマネージドBean)のプロパティにバインドすると、そのバッキングBeanのプロパティでは、コンポーネントの該当する値を受け入れて戻します。この値は、コンポーネントのライフサイクルのUPDATE_MODEL_VALUE
フェーズ時に更新されます。たとえば、UIInput
コンポーネントの値をデータにバインドするには、inputText
タグのValue
属性の値としてEL式を挿入します。この方法では、ユーザーがWebページのコンポーネントに新規テキストを挿入したときに値が更新されます。
バッキングBeanのプロパティにコンポーネント・インスタンスをバインドすると、Beanでは、コンポーネント・インスタンス全体(値のみではなく)を受け入れて戻します。関連付けられたBeanのプロパティには、コンポーネント・インスタンスの値が保持されます。この方法は、コンポーネントの他の属性を動的に制御する必要がある場合に有効です。たとえば、コンポーネント・タグのrendered
プロパティをfalse
に設定しているとします。このとき、そのタグのbinding
属性をバッキングBeanのプロパティに設定すると、メソッドでは、プロパティを参照でき、rendered
属性の値をtrue
に変更できます。この方法ではなく、value
属性をプロパティにバインドした場合は、コンポーネント・フォームFacesContext
にアクセスするために特別なコードを記述する必要があります。詳細は、「属性のバインドを使用したプログラムによるコンポーネントの制御」を参照してください。
マネージドBeanおよびバッキングBeanの開発
マネージドBeanについて
Copyright © 1997, 2006, Oracle. All rights reserved.