Faces JSP ページでは幾つかのタイプの選択リスト・コンポーネントを使用することができます。コンボ・ボックス、リスト・ボックス、ラジオ・ボタン、およびチェック・ボックスをページにドラッグし、それらを動的にデータ・ソースにバインドすることができます。
その他の詳細:
動的な値の場合、
1 つ以上の selectitem または selectitems タグによって選択項目のリストが作成されます。
selectitems タグの value 属性はその選択項目を含む
データ・エレメントをポイントします。selectitems タグは以下の書式のデータの 1 つを予期します。
- javax.faces.component.SelectItem メンバー・オブジェクトの java.util.Collection。SelectItem クラスは個々の選択項目のラベル、値、および説明を含む単純なコンテナーを定義します。
- javax.faces.component.SelectItem の配列。
その他のデータ型の場合は、これらの必要な書式の 1 つにデータを変換するために、ツールによって
value が生成されます。
value は
selectitems.bean.label.value.toArray という書式を持っています。各部の意味は次のとおりです。
- selectitems はこの変換のケースを識別する特殊なキーワードです。
- bean はデータ・モデル内の JavaBean タイプの要素を識別します。
aaa.bbb.ccc などの複数レベル参照の場合があり、コレクション型などの任意のオブジェクトに解決されます。
- label は bean によって識別されるオブジェクトのプロパティーです。このプロパティーの値が選択項目として表示されます。
- value はもう 1 つの bean のプロパティーで、選択された項目とともに設定されます。デフォルトでは、この値は label と同じです。
- toArray は特殊参照ストリングを終了するキーワードです。
ページ・データ・ビューからバインドする場合、個々のフィールドを選択すると、ラベルと値の両方に同じフィールドを使用する
value が常に作成されます。UI ラベルと渡された値に異なるストリングを使用するには、上記のパターンに従って、
value を手動で変更します。以下は
selectitems タグの
value 属性の例です。
- myBean.choices は、myBean という名前の Bean から SelectItem[] プロパティー choices をバインドします。
- selectitems.EMPLOYEES.NAME.NAME.toArray は、EMPLOYEES という名前のデータ・リストからストリング・プロパティー NAME をバインドします。
- selectitems.anotherBean.choices.choices.toArray は、anotherBean という名前の JavaBean から choices という名前のストリング配列をバインドします。
- selectitems.EMPLOYEE.NAME.EMPID.toArray は、
選択された値の従業員 ID を使用して、EMPLOYEES という名前のレコード・リストから従業員名を手動でバインドします。