「Java/JavaEE/WebTier/DevWithJSF」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
-JSFアプリケーションのサーバサイド必要な実装
--管理ビーン
--コンバータ
--イベントハンドラ
--バリデータ
-管理ビーンとBean Validationについて
----
*Managed Beans
-管理ビーンはページのコンポーネントに関連づけられる
**Creating a Managed Bean
-管理ビーンの構成要素
-引数なしコンストラクタ
-コンポーネントから参照されるプロパティ
--コンポーネントの値
---プリミティブ、数値型、コンバータで変換できる型
--コンポーネントのインスタンス
---期待されるコンポーネントと同じ型
--コンバータのインスタンス
---期待されるコンバータと同じ型
--リスナーのインスタンス
---期待されるリスナーと同じ型
--バリデータのインスタンス
---期待されるバリデータと同じ型
-メソッド
--コンポーネント値のバリデート
--コンポーネント生成イベントのハンドリング
--次ページ決定のための処理
**Using the EL to ReferenceManaged Beans
-EL式によってページから管理ビーンを参照
--コンポーネント値、コンポーネントオブジェクトを管理ビーンのプロパティに紐づける
--管理ビーンのメソッドを参照する
-EL式の遅延評価#{...}によって、式の評価を適切なライフサイクル中のフェーズで行える
--イベントハンドリング->変換->バリデーション->データ送信
-外部のオブジェクトにデータを保存すめに、多くのJSFコンポーネントタグの属性はlvalue式をつかう。
-いくつかのJSFコンポーネントタグの属性は、Method式を許可している。
--イベントのハンドリング
--バリデート
--コンバート
-Value式は以下のデータを参照できる
--ビーンのプロパティ
--リスト
--マップ
--配列
--暗黙オブジェクト
--リソースバンドル
-Value式でコンポーネントを管理ビーンのプロパティと紐づけられる
<inputText binding="#{bean.myComponent}" />
-ValueExpressionやMethodExpressionをカスタムコンポーネントプロパティにすることでVEやMEが使えるようになる
----
*Writing Bean Properties
-コンポーネント値を管理ピーンプロパティにバインド
--value属性
--プロパティとコンポーネント値が同じ型であること
-コンポーネント、バリデータ、コンバータ、リスナーのインスタンスを管理ビーンプロパティにバインド
--binding属性
--プロパティと対応するインスタンスが同じ型であること
**Writing Properties Bound to Component Values
-管理ビーンのプロパティのコンポーネントの型に一致させる
--コンポーネントがUIInput, UIOutput, UISelectOneの時
---基本的なプリミティブ、数値型
---コンバータで変換される型
--コンポーネントがUIDataの時
---ビーン、ビーンの配列、リスト
---ResultSet,Result,RowSet
--コンポーネントがUISelectBooleanの時
---boolean, Boolean
--コンポーネントがUISelectManyの時
---標準的な型のリスト、配列
--コンポーネントがUISelectItemの時
---UISelectMany, UISelectOneコンポーネント中で、1つの値を表す
---javax.faces.model.SelectItem
--コンポーネントがUISelectItemsの時
---UISelectMany, UISelectOneコンポーネントの子コンポーネント
---SelectItemのセット、配列、リスト、POJO
**Writing Properties Bound to Component Instances
-管理ビーンのプロパティにコンポーネントのインスタンスを保持させる
--ページ上でbinding属性で管理ビーンのプロパティを参照
--管理ビーンからコンポーネントの属性を動的に設定可能
--管理ビーンのプロパティはコンポーネントに対応した型
**Writing Properties Bound to Converters, Listeners, or Validators
-管理ビーンのプロパティにコンバータ、リスナー、バリデータの実装を保持させる
--ページ上でbinding属性で管理ビーンのプロパティを参照
--管理ビーンから、コンバータ、リスナー、バリデータの属性値を設定可能
----
*Writing Managed Bean Methods
-管理ビーンのメソッドで行われるふるまい
--ナビゲーションを決定する処理
--Actionイベントのハンドリング
--コンポーネント値のバリデーション
--ValueChangeイベントのハンドリング
-同じコンポーネントのデータを参照する上記メソッド群を同じ管理ビーンにまとめると良い
**Writing a Method to Handle Navigation
-アクションメソッド(ナビゲーション処理メソッド)
public Object xxx()
--返却値は遷移先ページの論理名
---コンポーネントタグのaction属性で参照
---nullの場合は、新規ビューを生成せずにユーザ入力値を残したままページを描画する
---Enumも利用可能
**Writing a Method to Handle an Action Event
-Actionイベントをハンドルするメソッド
public void xxx(ActionEvent)
--コンポーネントタグのactionListener属性で参照
---コンポーネントはActionSource実装の必要あり
**Writing a Method to Perform Validation
-バリデートメソッド
public void xxx(FacesContext, UIComponent, Object)
--コンポーネントタグのvalidator属性で参照
--コンポーネントはUIInput実装の必要あり
**Writing a Method to Handle a Value-Change Event
-ValueChangeイベントをハンドルするメソッド
public void xxx(ValueChangeEvent)
--コンポーネントタグのvalueChangeListener属性で参照
----
*Using Bean Validation
-Bean ValidationはJavaEE6で利用可能になったバリデーションのモデル
--ビーンのフィールド、メソッド、クラスに制約のアノテーションをつける
--制約は、ビルドインまたはカスタム
-ビルドインの制約
--@AssertFalse
--@AssertTrue
--@DecimalMax
--@DecimalMin
--@Digits
--@Future
--@Max
--@Min
--@NotNull
--@Null
--@Past
--@Pattern
--@Size
-管理ビーンは制約がついていれば自動的にバリデートされる
-<h:messages>でバリデーションのメッセージが表示される
-JSFアプリケーションのサーバサイド必要な実装
--管理ビーン
--コンバータ
--イベントハンドラ
--バリデータ
-管理ビーンとBean Validationについて
----
*Managed Beans
-管理ビーンはページのコンポーネントに関連づけられる
**Creating a Managed Bean
-管理ビーンの構成要素
-引数なしコンストラクタ
-コンポーネントから参照されるプロパティ
--コンポーネントの値
---プリミティブ、数値型、コンバータで変換できる型
--コンポーネントのインスタンス
---期待されるコンポーネントと同じ型
--コンバータのインスタンス
---期待されるコンバータと同じ型
--リスナーのインスタンス
---期待されるリスナーと同じ型
--バリデータのインスタンス
---期待されるバリデータと同じ型
-メソッド
--コンポーネント値のバリデート
--コンポーネント生成イベントのハンドリング
--次ページ決定のための処理
**Using the EL to ReferenceManaged Beans
-EL式によってページから管理ビーンを参照
--コンポーネント値、コンポーネントオブジェクトを管理ビーンのプロパティに紐づける
--管理ビーンのメソッドを参照する
-EL式の遅延評価#{...}によって、式の評価を適切なライフサイクル中のフェーズで行える
--イベントハンドリング->変換->バリデーション->データ送信
-外部のオブジェクトにデータを保存すめに、多くのJSFコンポーネントタグの属性はlvalue式をつかう。
-いくつかのJSFコンポーネントタグの属性は、Method式を許可している。
--イベントのハンドリング
--バリデート
--コンバート
-Value式は以下のデータを参照できる
--ビーンのプロパティ
--リスト
--マップ
--配列
--暗黙オブジェクト
--リソースバンドル
-Value式でコンポーネントを管理ビーンのプロパティと紐づけられる
<inputText binding="#{bean.myComponent}" />
-ValueExpressionやMethodExpressionをカスタムコンポーネントプロパティにすることでVEやMEが使えるようになる
----
*Writing Bean Properties
-コンポーネント値を管理ピーンプロパティにバインド
--value属性
--プロパティとコンポーネント値が同じ型であること
-コンポーネント、バリデータ、コンバータ、リスナーのインスタンスを管理ビーンプロパティにバインド
--binding属性
--プロパティと対応するインスタンスが同じ型であること
**Writing Properties Bound to Component Values
-管理ビーンのプロパティのコンポーネントの型に一致させる
--コンポーネントがUIInput, UIOutput, UISelectOneの時
---基本的なプリミティブ、数値型
---コンバータで変換される型
--コンポーネントがUIDataの時
---ビーン、ビーンの配列、リスト
---ResultSet,Result,RowSet
--コンポーネントがUISelectBooleanの時
---boolean, Boolean
--コンポーネントがUISelectManyの時
---標準的な型のリスト、配列
--コンポーネントがUISelectItemの時
---UISelectMany, UISelectOneコンポーネント中で、1つの値を表す
---javax.faces.model.SelectItem
--コンポーネントがUISelectItemsの時
---UISelectMany, UISelectOneコンポーネントの子コンポーネント
---SelectItemのセット、配列、リスト、POJO
**Writing Properties Bound to Component Instances
-管理ビーンのプロパティにコンポーネントのインスタンスを保持させる
--ページ上でbinding属性で管理ビーンのプロパティを参照
--管理ビーンからコンポーネントの属性を動的に設定可能
--管理ビーンのプロパティはコンポーネントに対応した型
**Writing Properties Bound to Converters, Listeners, or Validators
-管理ビーンのプロパティにコンバータ、リスナー、バリデータの実装を保持させる
--ページ上でbinding属性で管理ビーンのプロパティを参照
--管理ビーンから、コンバータ、リスナー、バリデータの属性値を設定可能
----
*Writing Managed Bean Methods
-管理ビーンのメソッドで行われるふるまい
--ナビゲーションを決定する処理
--Actionイベントのハンドリング
--コンポーネント値のバリデーション
--ValueChangeイベントのハンドリング
-同じコンポーネントのデータを参照する上記メソッド群を同じ管理ビーンにまとめると良い
**Writing a Method to Handle Navigation
-アクションメソッド(ナビゲーション処理メソッド)
public Object xxx()
--返却値は遷移先ページの論理名
---コンポーネントタグのaction属性で参照
---nullの場合は、新規ビューを生成せずにユーザ入力値を残したままページを描画する
---Enumも利用可能
**Writing a Method to Handle an Action Event
-Actionイベントをハンドルするメソッド
public void xxx(ActionEvent)
--コンポーネントタグのactionListener属性で参照
---コンポーネントはActionSource実装の必要あり
**Writing a Method to Perform Validation
-バリデートメソッド
public void xxx(FacesContext, UIComponent, Object)
--コンポーネントタグのvalidator属性で参照
--コンポーネントはUIInput実装の必要あり
**Writing a Method to Handle a Value-Change Event
-ValueChangeイベントをハンドルするメソッド
public void xxx(ValueChangeEvent)
--コンポーネントタグのvalueChangeListener属性で参照
----
*Using Bean Validation
-Bean ValidationはJavaEE6で利用可能になったバリデーションのモデル
--ビーンのフィールド、メソッド、クラスに制約のアノテーションをつける
--制約は、ビルドインまたはカスタム
-ビルドインの制約
--@AssertFalse
--@AssertTrue
--@DecimalMax
--@DecimalMin
--@Digits
--@Future
--@Max
--@Min
--@NotNull
--@Null
--@Past
--@Pattern
--@Size
-管理ビーンは制約がついていれば自動的にバリデートされる
-<h:messages>でバリデーションのメッセージが表示される
**Validating Null and Empty Strings
-JSFのテキストコンポーネントに紐づけられる管理ビーンのプロパティは、入力なしの場合は空文字
-nullと空文字を同じように扱いたい場合は、コンテキストパラメータを指定する
--javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL : true
--入力なしの場合は、nullで設定されるようになる