Beanにバインドする表は、データ表のバインド・ウィザードを使用して作成します。データ表のバインド・ページで、次のフィールドを使用します。
このウィザードでは、Beanの各属性に対して列が作成されます。JSFデータ表は、次のいずれかのBeanにバインドする必要があります。
java.util.List
のインスタンス
java.sql.ResultSet
のインスタンス
javax.servlet.jsp.jstl.sql.ResultSet
のインスタンス
javax.sql.RowSet
のインスタンス
javax.faces.model.DataModel
のインスタンス
「値」フィールドの場合は、JSF EL式を作成して表をBeanにバインドします。この式は、dataTable
タグのValue
属性に対する値になります。EL式ビルダーを使用するには、「バインド」をクリックします。この式ビルダーでは、前述のリストに準拠したBeanのみをデフォルトで表示するフィルタが使用されます。このフィルタは、必要に応じて、アプリケーション内のすべての変数タイプを表示するように変更できます。
必要な項目を「変数」リストから選択し、「式」に追加します。
データ表のバインド・ページの「クラス」フィールドで、式で表されたBeanにオブジェクトを実装するクラスの完全修飾クラス名を入力します。これによって、データ表ウィザードでは、オブジェクトのプロパティを判断し、column
タグを使用して各列を作成できます。クラス・ファインダ・ダイアログを使用して適切なクラスを選択するには、「参照」ボタンをクリックします。この例では、この目的で使用するデータ転送オブジェクトを作成しました。
「Var」フィールドを使用して、表の行を表す変数を宣言します。この変数は、dataTable
コンポーネント・タグのVar
属性の値になります。この変数を作成することで、セル内の個々のコンポーネントにデータをバインドする式では、その変数を使用できます。
たとえば、dept
を変数として使用した場合、単一行の部門名の表示に使用するoutputText
コンポーネント・タグには、その値に#{dept.departmentName}
を指定します。この式の後半部分は、その列に表示されるBeanのプロパティです。
Copyright © 1997, 2007, Oracle. All rights reserved.