「Java/JavaEE/WebTier/FaceletsIntro」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
-Facelets=JSFのビュー宣言言語
-JSPはJSF2.0に対してduplicated
---
*What Is Facelets?
-HTMLテンプレートスタイルでJSFのビューをビルドする場合に、パワフルでライトウェイトなページ宣言言語
--XHTMLの利用も可
--JSFとJSTLのタグライブラリに加え、Faceletsのタグライブラリも
|http://java.sun.com/jsf/facelets|ui:|
|http://java.sun.com/jsf/html|h:|
|http://java.sun.com/jsf/core|f:|
|http://java.sun.com/jsp/jstl/core|c:|
|http://java.sun.com/jsp/jstl/functions|fn:|
--ELのサポート
--コンポーネントとページのテンプレート化
--テンプレートとコンポーネント集約による再利用可能性
--コンポーネントやサーバサイドオブジェクトの機能拡張
--より速くなったコンパイル時間
--ELバリデーションのコンパイル時間
--レンダリングの高パフォーマンス
----
*Developing a Simple Facelets Application
-FaceletsでJSFアプリを作成するときの一般的なタスク
--管理ビーンの作成
--コンポーネントタグでページを作成
--ページ遷移の定義
--FacesServletインスタンスのマッピング
--管理ビーンの宣言追加
***Developing a Managed Bean
-典型的なJSFアプリケーションでは、ページは管理ビーンに結びつく
--管理ビーンのメソッドとプロパティはコンポーネントと関連している
--@ManagedBeanで管理ビーンをJSF実装に登録する
--@SessionScopedでビーンのスコープをセッションにする
***Creating Facelets Views
-FaceletsHTMLタグ h: でコンポーネントをページに追加
-FaceletsCoreタグf:validateLongRangeでユーザ入力をバリデート
***Conguring the Application
-web.xml
--初期化パラメータ javax.faces.PROJECT_STAGE でソフトウェアライフサイクルを指定
---Developmentでデバッグ情報の生成など
-faces-config.xml
--管理ビーンの宣言、遷移ルール、リソースバンドルの設定
----
*Templating
-Faceletsでページのテンプレートを作成できる
--似たような構成のページを作り直さなくていい
--標準的なLook & Feelをメンテしやすい
-テンプレートタグ
|ui:component|コンポーネントツリーに追加されるコンポーネントを定義。このタグの外側の内容を無視|
|ui:composition|ページのコンポジットを定義、このタグの外側の内容を無視|
|ui:debug|デバッグコンポーネントを定義|
|ui:decorate|ページのコンポジットを定義、このタグの外側の内容を無視しない|
|ui:define|テンプレートにより挿入される内容を定義する|
|ui:fragment|コンポーネントツリーに追加されるコンポーネントを定義。このタグの外側の内容を無視しない|
|ui:include|複数のページ向けに、内容をカプセル化し再利用する|
|ui:insert|テンプレートに対して、内容をインサートする|
|ui:param|インクルードされた内容に対して、パラメータを渡す|
|ui:repeat|ループ処理|
|ui:remove|内容をページから除く|
-テンプレートファイル
--ui:insert で内容の挿入位置を定義
-クライアントページファイル
--ui:composition で利用するテンプレートファイルを指定
--ui:define で挿入する内容を定義
----
*Composite Components
-コンポーネントとして動作する特殊なテンプレート
-タグの集合と既存のコンポーネントから構成される
--再利用可能で、カスタマイズされ定義された機能を持つ
--バリデータ、コンバータ、リスナーをつけられる
-よくつかわれるタグ
|composite:interface|コンポジットコンポーネントのインターフェース宣言|
|composite:implementation|コンポジットコンポーネントの実装定義|
|composite:attribute|コンポジットコンポーネントのインスタンスに渡される属性を宣言|
|composite:insertChildren|コンポーネントやテンプレートテキストをコンポジットコンポーネントの子として認識。挿入箇所はcomposite:implementationでのcomposite:insertChildrenの位置|
|composite:valueHolder|ValueHolderであることを宣言。composite:interfaceにネストする。|
|composite:editableValueHolder|EditableValueHolderであることを宣言。composite:interfaceにネストする。|
|composite:actionSource|ActionSourceであることを宣言。composite:interfaceにネストする。|
-コンポジットコンポーネントのページ
--ページファイル内でコンポジットコンポーネントはccで参照
---#{cc.attrs.attribute-name} で属性値を参照
-コンポジットコンポーネントを使用するページ
--名前空間の宣言でコンポジットコンポーネントへを参照
----
*Resources
-リソースは、レンダリング時に必要にある成果物のこと
--イメージ、スクリプト、コンポーネントライブラリ
-リソースの標準的な置き場所
--Webアプリケーションのルート配下にパッケージされたもの
---root:resources/resource-identier
--Webアプリケーションのクラスパス配下にパッケージされたもの
---META-INF/resources/resource-identier
-JSFは実行時にリソースをルート配下⇒クラスパス配下の順で探す
-リソース識別子はユニークでフォーマットが決まっている
--[locale-prex/][library-name/][library-version/]resource-name[/resource-version]
-Facelets=JSFのビュー宣言言語
-JSPはJSF2.0に対してduplicated
---
*What Is Facelets?
-HTMLテンプレートスタイルでJSFのビューをビルドする場合に、パワフルでライトウェイトなページ宣言言語
--XHTMLの利用も可
--JSFとJSTLのタグライブラリに加え、Faceletsのタグライブラリも
|http://java.sun.com/jsf/facelets|ui:|
|http://java.sun.com/jsf/html|h:|
|http://java.sun.com/jsf/core|f:|
|http://java.sun.com/jsp/jstl/core|c:|
|http://java.sun.com/jsp/jstl/functions|fn:|
--ELのサポート
--コンポーネントとページのテンプレート化
--テンプレートとコンポーネント集約による再利用可能性
--コンポーネントやサーバサイドオブジェクトの機能拡張
--より速くなったコンパイル時間
--ELバリデーションのコンパイル時間
--レンダリングの高パフォーマンス
----
*Developing a Simple Facelets Application
-FaceletsでJSFアプリを作成するときの一般的なタスク
--管理ビーンの作成
--コンポーネントタグでページを作成
--ページ遷移の定義
--FacesServletインスタンスのマッピング
--管理ビーンの宣言追加
***Developing a Managed Bean
-典型的なJSFアプリケーションでは、ページは管理ビーンに結びつく
--管理ビーンのメソッドとプロパティはコンポーネントと関連している
--@ManagedBeanで管理ビーンをJSF実装に登録する
--@SessionScopedでビーンのスコープをセッションにする
***Creating Facelets Views
-FaceletsHTMLタグ h: でコンポーネントをページに追加
-FaceletsCoreタグf:validateLongRangeでユーザ入力をバリデート
***Conguring the Application
-web.xml
--初期化パラメータ javax.faces.PROJECT_STAGE でソフトウェアライフサイクルを指定
---Developmentでデバッグ情報の生成など
-faces-config.xml
--管理ビーンの宣言、遷移ルール、リソースバンドルの設定
----
*Templating
-Faceletsでページのテンプレートを作成できる
--似たような構成のページを作り直さなくていい
--標準的なLook & Feelをメンテしやすい
-テンプレートタグ
|ui:component|コンポーネントツリーに追加されるコンポーネントを定義。このタグの外側の内容を無視|
|ui:composition|ページのコンポジットを定義、このタグの外側の内容を無視|
|ui:debug|デバッグコンポーネントを定義|
|ui:decorate|ページのコンポジットを定義、このタグの外側の内容を無視しない|
|ui:define|テンプレートにより挿入される内容を定義する|
|ui:fragment|コンポーネントツリーに追加されるコンポーネントを定義。このタグの外側の内容を無視しない|
|ui:include|複数のページ向けに、内容をカプセル化し再利用する|
|ui:insert|テンプレートに対して、内容をインサートする|
|ui:param|インクルードされた内容に対して、パラメータを渡す|
|ui:repeat|ループ処理|
|ui:remove|内容をページから除く|
-テンプレートファイル
--ui:insert で内容の挿入位置を定義
-クライアントページファイル
--ui:composition で利用するテンプレートファイルを指定
--ui:define で挿入する内容を定義
----
*Composite Components
-コンポーネントとして動作する特殊なテンプレート
-タグの集合と既存のコンポーネントから構成される
--再利用可能で、カスタマイズされ定義された機能を持つ
--バリデータ、コンバータ、リスナーをつけられる
-よくつかわれるタグ
|composite:interface|コンポジットコンポーネントのインターフェース宣言|
|composite:implementation|コンポジットコンポーネントの実装定義|
|composite:attribute|コンポジットコンポーネントのインスタンスに渡される属性を宣言|
|composite:insertChildren|コンポーネントやテンプレートテキストをコンポジットコンポーネントの子として認識。挿入箇所はcomposite:implementationでのcomposite:insertChildrenの位置|
|composite:valueHolder|ValueHolderであることを宣言。composite:interfaceにネストする。|
|composite:editableValueHolder|EditableValueHolderであることを宣言。composite:interfaceにネストする。|
|composite:actionSource|ActionSourceであることを宣言。composite:interfaceにネストする。|
-コンポジットコンポーネントのページ
--ページファイル内でコンポジットコンポーネントはccで参照
---#{cc.attrs.attribute-name} で属性値を参照
-コンポジットコンポーネントを使用するページ
--名前空間の宣言でコンポジットコンポーネントへを参照
----
*Resources
-リソースは、レンダリング時に必要にある成果物のこと
--イメージ、スクリプト、コンポーネントライブラリ
-リソースの標準的な置き場所
--Webアプリケーションのルート配下にパッケージされたもの
---root:resources/resource-identier
--Webアプリケーションのクラスパス配下にパッケージされたもの
---META-INF/resources/resource-identier
-JSFは実行時にリソースをルート配下⇒クラスパス配下の順で探す
-リソース識別子はユニークでフォーマットが決まっている
--[locale-prex/][library-name/][library-version/]resource-name[/resource-version]
-リソースはライブラリの位置となるため、別のコンポーネントやテンプレートにアクセスできる