ページの先頭行へ戻る
 Apcoordinatorユーザーズガイド

F.1.8 チェックボックスを作成したい

コンポーネントタグでチェックボックスを作成する方法を説明します。フォームや入力項目を作成する基本的な方法については、“F.1.2 フォームを作成したい”や“F.1.3 入力項目を作成したい”を参照してください。

主に以下の3通りの方法があります。

目的

作成方法

チェックボックスを個別に作成する

uji:checkBoxタグを使用します。

選択肢群から項目を選んでチェックするための一連のチェックボックスをまとめて作成する

uji:buttonListタグで作成します。複数の選択肢のチェックボックスをまとめてuji:buttonListタグ1個で作成できます。

uji:tableViewタグ、uji:treeViewタグで作成した表の特定の列をチェックボックスにする

チェックボックスにする列を、uji:tableViewタグ、uji:treeViewタグのdataCellTypeアトリビュートで指定します。

チェックボックスを個別に作成する

uji:checkBoxタグでチェックボックスを作成する方法は以下のとおりです。

  1. uji:checkBoxタグに対応付けるプロパティをデータBeanに作成します。プロパティの型としては、Boolean, boolean, String を使用します。チェックボックスの色やサイズを動的に変更したい場合は項目クラスを使用することもできます。項目クラスの使用方法は“F.1.9 入力項目やボタンの色、サイズ、フォントを指定したい”を参照してください。以降はBoolean, boolean, Stringの場合を説明します。

  2. JSPにuji:checkBoxタグを記述します。1 で作成したプロパティを、uji:checkBoxタグのbean, propertyアトリビュートで指定します。beanでデータBeanの名前を指定し、propertyでそのデータBeanのプロパティ名を指定します。データBeanの名前とは、DispatchContextクラスのsetResponseBeanメソッドでデータBeanに割り当てた名前です。

フォームが送信されると、チェック状態がプロパティに反映されます。チェックされている場合はプロパティの値がtrue (booleanの場合)、Boolean.TRUE (Booleanの場合), "true" (Stringの場合)となります。チェックされていない場合は、false (booleanの場合)、Boolean.FALSE (Booleanの場合), "false" (Stringの場合)となります。

選択肢群から項目を選んでチェックするための一連のチェックボックスをまとめて作成する

uji:buttonListタグを使うと、選択肢群から項目を選ぶためのチェックボックスが容易に作成できます。

<uji:buttonList bean="body" property="button" multipleMode="true" columns="3" />

この記述によるチェックボックスの表示例は以下のようになります。

uji:buttonListタグは以下のように使用します。

  1. uji:buttonListタグに対応づけるプロパティをデータBeanに作成します。プロパティの型はuji:buttonList用の項目クラスである必要があります。項目クラスとは、入力や表示を行なうデータが格納されるクラスです。uji:buttonListでは、com.fujitsu.uji.compo.ButtonListクラスを項目クラスとして使用します。

  2. 表示する選択肢のラベルは項目クラスに格納します。ButtonListクラスの場合は、add, setメソッドで選択肢を追加、設定します。

  3. JSPにuji:buttonListタグを記述します。1 で作成したプロパティを、uji:buttonListタグのbean, propertyアトリビュートで指定します。beanでデータBeanの名前を指定し、propertyでそのデータBeanのプロパティ名を指定します。データBeanの名前とは、DispatchContextクラスのsetResponseBeanメソッドでデータBeanに割り当てた名前です。

  4. uji:buttonListタグのmultipleModeアトリビュートにtrueを指定します。

フォームが送信されたあと、どの選択肢がチェックされたのかを項目クラスからgetSelectedIndexesメソッドで取得できます。このメソッドはチェックされている選択肢のインデックスを配列で返します。

uji:tableViewタグ、uji:treeViewタグで作成した表の特定の列をチェックボックスにする

uji:tableView、uji:treeViewタグで表を作成している場合、dataCellTypeアトリビュートで各列の表示形式をセミコロンで区切って指定できます。チェックボックスにする列には表示形式として"check"を指定します。

<uji:tableView bean="body" property="table" dataCellType="data;data;check" />

この記述では、3列目がチェックボックスで表示されます。

チェックボックスに対応するセルの値はBooleanクラスで表します。フォームが送信されると、チェックされたセルの値にはBoolean.TRUEが、チェックされていないセルの値にはBoolean.FALSEがセットされます。 画面表示時は、セルの値に従ってチェック状態が決定されます。

関連項目