単一選択コンポーネントを使用すると、値のリストから 1
つの選択を行うことができます。ユーザーの選択は、PageHandler データ域に保管されます。ラジオ・ボタン、単一選択リスト・ボックス、およびコンボ・ボックスは、JavaServer Faces
単一選択コンポーネントです。
バインディングとは、コンポーネントとデータ域の関係のことです。コンポーネントをデータ域へバインドするには、
事前にそのデータ域を PageHandler で宣言しておく必要があります。単一選択コンポーネントには、次の 2 種類のバインディングが必要です。
- ユーザーが選択できる値が入った 1 つ以上のデータ域へのバインディング
- ユーザーの選択を受け取るデータ域へのバインディング
JavaServer Faces 単一選択コンポーネントを既存の EGL PageHandler データ域へバインドするには、次のようにします。
- Page Designer で Faces JSP ファイルを開く。
JSP ファイルを開いていない場合は、プロジェクト・エクスプローラーで JSP
ファイルをダブルクリックします。
Page Designer で JSP が開きます。
「設計」タブをクリックして「設計」ビューにアクセスします。
- 「ウィンドウ」メニューで、
「ビューの表示」 > 「その他」 >「基本」 > 「パレット」を選択する。
- パレット・ビューで、「Faces コンポーネント」ドロワーをクリックして、Faces
コンポーネントのオブジェクト型を表示する。
- 単一選択コンポーネントをパレットから JSP にドラッグする。
コンポーネント・オブジェクトが JSP 上に配置されます。
- ユーザーに対して表示したい値が入っている 1
つ以上の PageHandler データ域へコンポーネントをバインドするために、
次のいずれかの手順を実行する。
- 1 つずつリスト項目が入った個々の PageHandler データ域へコンポーネントをバインドすることができる。
それぞれのデータ域について、次の手順を実行します。
- JSP 上でオブジェクト・コンポーネントを選択する。
- 「プロパティー」ビューで、「選択項目の追加」をクリックする。
「名前」および「値」フィールドにデフォルト値が取り込まれます。
- 「名前」フィールドをクリックし、ユーザーに対して表示したいテキストを入力する。
- 「値」フィールドをクリックし、
「値」フィールドの隣にあるボタンをクリックする。
「ページ・データ・オブジェクトの選択」リストから個々のデータ域を選択して「OK」をクリックします。このデータ域は、後で受け取り側データ域へ移動される値を保持します。
- ユーザーに対して表示したい複数の値が入っている 1
つの PageHandler 配列データ域へコンポーネントをバインドすることができる。
コンポーネントを配列データ域へバインドするには、次の手順を実行します。
- JSP 上でオブジェクト・コンポーネントを選択する。
- 「プロパティー」ビューで、「選択項目のセットを追加」をクリックする。
「名前」および「値」フィールドにデフォルト値が取り込まれます。
- 「値」フィールドをクリックし、「値」フィールドの隣にあるボタンをクリックする。
「ページ・データ・オブジェクト (Page Data Object)」リストから配列データ域を選択して「OK」をクリックします。配列データ域内の値は、ユーザーに対して表示される値です。後で説明するプロパティーによって、配列データ域内の値、
またはそれと等価のインデックス値が、受け取り側データ域へ移動されるかどうかが決まります。
- ユーザーに対して表示される値を提供するために配列データ域を使用する場合は、selectFromListItem
と selectType の 2 つのプロパティーを使用して受け取り側データ域を定義する必要があります。
selectFromListItem プロパティーは、
リスト項目を保持する配列を指します。
selectType プロパティーは、
受け取り側データ域にテキスト値またはインデックス値のどちらを取り込むかを示します。受け取り側データ域の例を以下に示します。
colorSelected char(10)
{selectFromListItem = "colorsArray",
selectType = value};
colorSelectIdx smallInt
{selectFromListItem = "colorsArray",
selectType = index};
- ユーザーの選択を受け取る PageHandler データ域へコンポーネントをバインドするために、次のようにする。
- データ域を「ページ・データ」ビューから JSP
上のコンポーネント・オブジェクトへドラッグする。
- JSP 上でコンポーネント・オブジェクトを選択してから、
「ページ・データ」ビュー内のデータ域を右クリックし、「バインド先 「コンポーネント名」」を選択する。
- JSP 上でコンポーネント・オブジェクトを選択する。「プロパティー」ビューの「値」
フィールドの隣にあるボタンをクリックし、「ページ・データ・オブジェクトの選択」リストからデータ域を選択して「OK」をクリックします。