29.10. JSF と使用するアノテーション
以下のアノテーションで JSF をより簡単に使えるようになります。
@Converter- Seam コンポーネントが JSF コンバータとして動作できるようにします。アノテーションを付けられたクラスは Seam コンポーネントでなければいけません。また
javax.faces.convert.Converterを実装しなければなりません。id− JSF コンバータの ID です。 デフォルトはコンポーネント名です。forClass− 指定されると、 このコンポーネントをある型のデフォルトコンバータとして登録します。
@Validator- Seam コンポーネントが JSF バリデータとして動作できるようにします。アノテーションを付けられたクラスは Seam コンポーネントでなければいけません。また
javax.faces.validator.Validatorを実装しなければなりません。id− JSF バリデータの ID です。 デフォルトはコンポーネント名です。
29.10.1. dataTable と使用するアノテーション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下のアノテーションはステートフルセッション Bean を使ったクリック可能リストの実装を容易にします。 これらのアノテーションは属性に付与されます。
@DataModel@DataModel("variableName")@DataModel("variableName")Copy to Clipboard Copied! Toggle word wrap Toggle overflow List、Map、SetまたはObject[]型のプロパティを JSFDataModelとして所有しているコンポーネントのスコープ (所有しているコンポーネントがSTATELESSの場合はEVENTスコープ) へアウトジェクトします 。Mapの場合、DataModelの各行はMap.Entryです。value− 対話コンテキスト変数の名前です。 デフォルトは属性の名前です。scope−scope=ScopeType.PAGEが明示的に指定されると、DataModelはPAGEコンテキストに保持されるようになります。
@DataModelSelection@DataModelSelection
@DataModelSelectionCopy to Clipboard Copied! Toggle word wrap Toggle overflow JSFDataModelから選択された値をインジェクトします (これは基礎となるコレクションのエレメントまたはマップ値です)。 コンポーネントにひとつしか@DataModel属性が定義されていなければ、 そのDataModelから選択された値がインジェクトされます。これ以外は、 各@DataModelのコンポーネント名を各@DataModelSelectionの value 属性に指定しなければなりません。関連付けられた@DataModelにPAGEスコープが指定されると、 DataModel Selection がインジェクトされるのに加えて関連付けられた DataModel もインジェクトされます。このとき、@DataModelのアノテーションが付いたプロパティが getter メソッドである場合、 プロパティの setter メソッドも含まれている Seam Component を含む Business API の一部でなければなりません。value− 対話コンテキスト変数の名前です。 コンポーネントに 1 つの@DataModelしかない場合は不要です。
@DataModelSelectionIndex@DataModelSelectionIndex
@DataModelSelectionIndexCopy to Clipboard Copied! Toggle word wrap Toggle overflow JSFDataModelの選択インデックスをコンポーネントの属性として公開します (これは基礎となるコレクションの行番号またはマップキーです)。 1 コンポーネントにひとつしか@DataModel属性が定義されていなければ、 そのDataModelから選択された値がインジェクトされます。 これ以外は、 各@DataModelのコンポーネント名を各@DataModelSelectionIndexの value 属性に指定する必要があります。value− 対話コンテキスト変数の名前です。 コンポーネントに 1 つの@DataModelしかない場合は不要です。