JSF 標準チェックボックスリストコンポーネント
関連項目
JavaServer Faces 標準のチェックボックスリストコンポーネント
を「パレット」の「標準」カテゴリからビジュアルデザイナーにドラッグすることによって、デフォルトで 1 行に 3 つのチェックボックスが含まれる表を作成できます。
- このコンポーネントはテーマを使用しない JavaServer Faces リファレンス実装です。「パレット」の「基本」カテゴリにある チェックボックスグループコンポーネント では、テーマをサポートし、使いやすさを高めるその他の機能が用意されています。
チェックボックスリストは、次の要素からなる複合コンポーネントです。
- 囲みコンポーネント (checkboxList) は、リストそのもののスタイルと動作を管理します。また、ユーザーがページを送信したとき、このコンポーネントの「value」プロパティーは、ユーザーの選択内容を含むオブジェクト配列になります。このコンポーネントの「value」プロパティーを
Object 配列にバインドし、そのオブジェクトを使ってユーザーの選択内容をテストできます。
- 内部コンポーネント ( checkboxList SelectItems) は、リスト内の実際の項目を指定したデータプロバイダへのバインドに使用することを想定しています。
- 3 つ目の関係コンポーネント ( checkboxList DefaultItems) は、リストの初期チェックボックスからなる配列が含まれます。リストがデータプロバイダーにバインドされていない場合にのみ、この配列を使ってリストを生成します。この 3 番目のコンポーネントの各チェックボックスには、デフォルトのテキストの入ったラベル (
項目 1、項目 2、項目 3) が付きます。
コンポーネントをビジュアルデザイナーにドラッグすると、次の操作を実行できます。
- コンポーネントを選択して、ページの別の場所にドラッグする。
- で checkboxList コンポーネントを右クリックし、「プロパティーのバインド」を選択して、プロパティーとしてセッション Bean に追加していた
Object 配列にその「value」プロパティーをバインドする。このセッション Bean プロパティーを使用して、ページ送信後にユーザーの選択内容を評価できます。詳細は、このあとの「value」プロパティーの説明を参照してください。
- 「ナビゲータ」ウィンドウで checkboxListSelectItems コンポーネントを右クリックして、リストの生成に使用するデータプロバイダにそのコンポーネントをバインドする。
- ビジュアルデザイナーのページ上でチェックボックスリストコンポーネントを選択し、チェックボックスリストの 「プロパティー」ウィンドウ でそのプロパティーを編集する。これらのプロパティーは、リスト全体のスタイルおよび動作に影響します。たとえば、次のプロパティーを設定できます。
- ビジュアルデザイナーでコンポーネントを右クリックして、いずれかのアクションを選択する。
- イベントハンドラを編集。次のイベントハンドラのいずれかのコードを記述します。
- validate。コンポーネントの
validate メソッド内にカーソルが置かれた状態で Java エディタが開き、このコンポーネントの値の妥当性を検査するコードを挿入できます。
- processValueChange。チェックボックスのリストの
processValueChange メソッド内にカーソルが置かれた状態で Java エディタが開き、このチェックボックスのリストの値に変更があったとき (たとえば、ユーザーが 2 つのボックスを選択して、フォームを送信したとき) に実行するコードを挿入できます。
- データにバインド。「データにバインド」ダイアログで説明しているように、コンポーネントの「
value」プロパティーをオブジェクトまたはデータプロバイダにバインドします。
- プロパティーのバインド。コンポーネントのプロパティーを自動的に更新するほかのオブジェクトやプロパティーに、このコンポーネントのプロパティーをバインドするためのダイアログを開きます。
- バインド属性を追加。このオプションは、コンポーネントにバインド属性を追加します。
- 注: コンポーネントを Java コードで書く予定の場合は、バインド属性を手動で追加する必要があります。このバインド属性は、値バインド式を使用してバッキングページ Bean のプロパティーにバインドされます。
- バインド属性を削除。このオプションは、バインド属性をコンポーネントから削除します。
- 関連項目
- コンポーネントの手順
- コンポーネント関連の手順早見表
- Visual Web の「パレット」について
著作権と商標について