JSF 2.0チュートリアル
JavaServer Faces(JSF)2.0
は、MVC Webフレームワークであり、Java Webアプリケーション用のユーザーインターフェイス(100以上の準備済みのUIタグが用意されています)の作成を簡素化し、再利用可能なUIコンポーネントを簡単にします実装する。 JSF 1.xとは異なり、ほとんどすべてがfaces-config.xmlでJSF 2.0で宣言されています。アノテーションを使用してナビゲート、マネージドBeanまたはCDI Beanを宣言することができます。
このチュートリアルでは、JavaServer Faces(JSF)2.0フレームワークの使用に関するステップバイステップの説明と説明を提供します。
Happy Learning JSF 2.0 🙂
クイックスタート
JSF 2.0のいくつかのクイックスタートの例
例]JavaServer Faces(JSF)2.0のhello worldの例では、JSF 2.0の依存関係、基本的なアノテーションおよび設定を示しています。 JSF 2.0の外観と、JSF 1.xとの違いについて簡単に理解してください。
-
link://jsf2/jsf-2-0-ajax-hello-world-example/[JSF 2.0 + Ajax hello
世界の例]+ JSF 2.0では、Ajaxのコーディングは通常のHTMLタグのコーディングと同じように行われていますが、非常に簡単です。このチュートリアルでは、最後のJSF 2.0 hello worldの例を再構成して、ボタンをクリックすると、フォーム全体を送信するのではなく、Ajaxリクエストを行うようにします。
-
link://jsf2/how-to-make-eclipse-ide-supports-jsf-2-0/[作成方法
Eclipse IDEはJSF 2.0をサポートしています]EclipseプロジェクトでJSF 2.0の機能を有効にする方法を簡単に説明します。
-
link://jsf2/resources-library-in-jsf-2-0/[JSFのリソース(ライブラリ)
2.0]JSF 2.0では、CSSや画像、JavaScriptなどのすべてのリソースファイルは、Webアプリケーションのルートにある “resources”フォルダに置く必要があります。 JSF 2.0の用語では、 “resources”フォルダのすべてのサブフォルダ名はJSF 2.0 Webアプリケーションの “ライブラリ”とみなされます。後で、この “ライブラリ”をJSFタグのライブラリ属性で参照できます。
管理対象のBean
JSF 2.0でのマネージドBeanのコンフィグレーションとインジェクションについて
-
link://jsf2/configure-managed-beans-in-jsf-2-0/[Managedを設定する
Beans in JSF 2.0]JSF 2.0では、JSFページからアクセスできるJava BeanをManaged Beanと呼びます。マネージドBeanは、通常のJava Beanにすることができます。通常のJava Beanには、getterメソッドとsetterメソッド、ビジネスロジック、またはバッキングBean(BeanにはすべてのHTMLフォーム値が含まれます)が含まれます。
-
link://jsf2/injecting-managed-beans-in-jsf-2-0/[Injecting Managed
Bean in JSF 2.0]JSF 2.0では、新しい@ManagedPropertyアノテーションを使用して、マネージドBeanを別のマネージドBeanのプロパティに依存性注入(DI)することができます。
ナビゲーション
JSF 2.0でのナビゲーションの仕組み
-
link://jsf2/implicit-navigation-in-jsf-2-0/[JSFでの暗黙のナビゲーション
2.0]JSF 2では、上記のナビゲーションルールを宣言する必要はなく、action属性に “view name”を入れて、新しいアクションを実行するための新しい “auto view page resolver”メカニズムが “implicit navigation” JSFは自動的に正しい「ビュー・ページ」を見つけます。
-
link://jsf2/条件付きナビゲーションルールインjsf-2-0/[条件付き
JSF 2.0のナビゲーション・ルール]JSF 2には、複雑なページ・ナビゲーション・フローを解決するための非常に柔軟な条件付きナビゲーション・ルールが付属しています。
-
link://jsf2/jsf-form-action-navigation-rule-example/[JSF “フォームアクション”
ナビゲーション・ルールの例]JSFナビゲーション・ルールでは、2つの別個のアクションがページ内で同じ「
結果
」を返す状況に遭遇することがあります。この場合、 ”
form-action
“要素を使用して2つのナビゲーションケースを区別することができます。
-
link://jsf2/jsf-page-forward-vs-page-redirect/[JSF:Page Forward vs
ページ・リダイレクト]デフォルトでは、JSFは別のページにナビゲートしている間にサーバー・ページを前方に実行します。ページ転送とページリダイレクトを区別するには、次の例を参照してください。
リソースバンドル
JSFのメッセージ操作と国際化。
-
link://jsf2/jsf-2-0-and-resource-bundles-example/[JSF 2.0とリソース
バンドルの例]+このチュートリアルでは、リソースバンドルを使用してJSF 2.0のメッセージを表示する方法を示します。メンテナンスの面から、メッセージをページに直接ハードコードするのではなく、すべてのメッセージをプロパティファイルに入れることをお勧めします。
-
link://jsf2/jsf-2-internationalization-example/[JSF 2
国際化の例]JSF 2.0国際化または多言語の例
JSFタグ・ライブラリ
標準のJSF 2フォームのタグコンポーネント。
<h:inputText>テキストボックスの例
<h:inputSecret>パスワードの例
<h:inputTextarea> textareaの例です。
<h:inputHidden>隠し値の例
<h:selectBooleanCheckbox>および<h:selectManyCheckbox>チェックボックスの例
-
link://jsf2/jsf-2-radio-buttons-example/[JSF 2ラジオボタン
例]<h:selectOneRadio>ラジオボタンの例。
<h:selectOneListbox>単一選択リストボックスの例
-
link://jsf2/jsf-2-multiple-select-listbox-example/[JSF 2マルチプル
リストボックスの例を選択]+ <h:selectManyListbox>複数選択リストボックスの例。
<h:selectOneMenu>ドロップダウンボックスの例
-
link://jsf2/jsf-2-multiple-select-dropdown-box-example/[JSF 2マルチプル
ドロップダウンボックスの例を選択]+ <h:selectManyMenu>複数選択ドロップダウンボックスの例このタグの使用はお勧めできません。
<h:outputText>タグでテキストを表示します。
<h:outputFormat>タグでパラメータ化されたテキストを表示します。
<h:graphicImage>タグで画像を表示します。
-
link://jsf2/how-to-include-cascading-style-sheets-css-in-jsf/[JSF 2
outputStylesheetの例]CSSファイルに<h:outputStylesheet>タグを含めます。
-
link://jsf2/how-to-include-javascript-file-in-jsf/[JSF 2 outputScript
例]<h:outputScript>タグを含むJavaScriptファイルをインクルードします。
-
link://jsf2/jsf-2-button-and-commandbutton-example/[JSF 2ボタンと
commandButtonの例]<h:button>と<h:commandButton>の例です。
-
link://jsf2/jsf-2-link-commandlink-and-outputlink-example/[JSF 2リンク、
commandLinkとoutputLinkの例]<h:link>、<h:commandLink>、<h:outputLink>の例です。
<h:panelGrid>例
-
link://jsf2/jsf-2-message-and-messages-example/[JSF 2メッセージと
メッセージの例]<h:messages>と<h:message>の例です。
<f:param>例、パラメータをコンポーネントに渡します。
<f:attribute>例、属性をコンポーネントに渡します。
-
link://jsf2/jsf-2-setpropertyactionlistener-example/[JSF 2
setPropertyActionListener example]+ <f:setpropertyactionlistener>例では、バッキングBeanのプロパティに直接値を設定します。
テーブル操作
via JSFのdataTableでデータの追加、更新、削除、並べ替えを行います。
JSF 2 <h:dataTable>、<h:column>および<f:facet>タグを使用して、HTML表形式でデータを表示します。
-
link://jsf2/how-to-add-row-in-jsf-datatable/[JSFで行を追加する
dataTable]JSF 2 dataTableに行を追加する例です。
-
link://jsf2/how-to-update-row-in-jsf-datatable/[JSFの行を更新する
dataTable]dataTableの行を更新するJSF 2の例です。
-
link://jsf2/how-to-delete-row-in-jsf-datatable/[JSFの行を削除する
dataTable]dataTableの行を削除するJSF 2の例です。
-
link://jsf2/how-to-display-datatable-row-numbers-in-jsf/[Display
JSFのdataTableの行番号]JSF 2のDataModelクラスでdataTableの行番号を表示する例
JSF 2 <ui:repeat> <h:dataTable>の代わりの例です。
-
link://jsf2/jsf-2-datatable-sorting-example/[JSF 2 dataTableソート
例]dataTableタグのソート機能を実装するカスタムコンパレータの使用方法を示すJSF 2.0の例。
-
link://jsf2/jsf-2-datatable-sorting-example-datamodel/[JSF 2 dataTable
ソートの例 – DataModel]dataTableタグのソート機能を実装するためのdataModelの使用方法を示すJSF 2.0の例。
Faceletsタグ
JSF 2.0のfaceletsタグでレイアウトテンプレートを実行する
-
link://jsf2/jsf-2-templating-with-facelets-example/[JSF 2テンプレート
JSF 2.0でのテンプレートの例を示すために、<faces:with Facelets> <ui:insert>、<ui:define>、<ui:include>、<ui:define>
-
link://jsf2/how-to-pass-parameters-to-jsf-2-0-テンプレートファイル/[How to
JSF 2.0のテンプレートファイルにパラメータを渡しますか?]JSF 2 <ui:param>例、パラメータをインクルードファイルまたはテンプレートファイルに渡します。
JSF 2.0でカスタムタグを作成するためのガイド。
JSF 2 <ui:remove>の例です。
コンバーター
JSF 2.0の標準コンバーターとバリデータータグ
-
link://jsf2/jsf-2-convertnumber-example/[JSF 2 convertNumber
例]”f:convertNumber”は、Stringを指定された “Number”形式に変換する標準コンバータです。また、入力値が有効な数値であることを確認するためのバリデータとしても使用されます。
-
link://jsf2/jsf-2-convertdatetime-example/[JSF 2 convertDateTime
例: “f:convertDateTime”は、標準のJSFコンバータタグで、Stringを指定された “Date”形式に変換します。次のJSF 2.0の例は、この “f:convertDateTime”タグの使用方法を示しています。
-
link://jsf2/jsf-2-validatelength-example/[JSF 2 validateLength
例]+ “f:validateLength”は、文字列の長さをチェックするために使用されるJSF文字列長バリデータです。
-
link://jsf2/jsf-2-validatelongrange-example/[JSF 2 validateLongRange
例]+ “f:validateLongRange”は、数値の範囲をチェックするために使用されるJSF範囲バリデータです。
-
link://jsf2/jsf-2-validatedoublerange-example/[JSF 2
validateDoubleRangeの例]”f:validateDoubleRange”は、浮動小数点値の範囲を検証するために使用されるJSF範囲バリデータタグです。
-
link://jsf2/jsf-2-validaterequired-example/[JSF 2 validateRequired
example]+ “of:validate Required”は、JSF 2.0の新しいバリデータタグで、入力フィールドが空でないことを確認するために使用されます。
-
link://jsf2/jsf-2-validateregex-example/[JSF 2 validateRegex
例]+ “f:validateRegex”はJSF 2.0の新しいバリデータタグで、JSFコンポーネントを特定の正規表現パターンで検証するために使用されます。
-
link://jsf2/custom-validation-error-message-in-jsf-2-0/[カスタマイズ
JSF 2.0の検証エラーメッセージ]JSF 2.0で検証エラーメッセージをカスタマイズする方法
-
link://jsf2/custom-converter-in-jsf-2-0/[JSFのカスタムコンバータ
2.0]JSF 2.0でカスタムコンバータを作成する方法。
-
link://jsf2/custom-valid-in-jsf-2-0/[JSFのカスタムバリデーター
2.0]JSF 2.0でカスタムバリデータを作成する方法。
-
link://jsf2/multi-component-valid-in-jsf-2-0/[マルチコンポーネント
Validator in JSF 2.0]+ PostValidateEventシステムイベントを使用して、JSF 2.0で複数コンポーネントバリデーターを作成します。
コンポジットコンポーネント
JSF 2.0で再利用可能なコンポーネント
-
link://jsf2/composite-components-in-jsf-2-0/[Compositeコンポーネントの
JSF 2.0]このチュートリアルでは、JSF 2.0で再利用可能なコンポーネント(複合コンポーネント)を作成する方法を説明します
イベントハンドラ
JSF 2には、JSFのライフサイクルを乗り越えるための多くのイベントハンドラが付属しています。
-
link://jsf2/jsf-2-valuechangelistener-example/[JSF 2
valueChangeListenerの例]ユーザーがh:inputTextやh:selectOneMenuなどの入力コンポーネントを変更すると、JSFの「値変更イベント」が発生します。
-
link://jsf2/jsf-2-actionlistener-example/[JSF 2 actionListener
例]JSFでは、ボタンまたはリンクコンポーネントをクリックすると、アクションイベントが発生します(例:h:commandButtonまたはh:commandLink)。
-
link://jsf2/jsf-2-post-postconstructアプリケーションイベントおよび予期アプリケーションアプリケーション例/[JSF
2 PostConstructApplicationEventおよびPreDestroyApplicationEvent例]PostConstructApplicationEvent、アプリケーションの起動後に起動します。アプリケーションが起動する前にPreDestroyApplicationEventが起動します。
-
link://jsf2/jsf-2-prerenderviewevent-example/[JSF 2 PreRenderViewEvent
例]PreRenderViewEvent、ビュールート(JSFページ)の前に起動します。
-
link://jsf2/multi-components-validator-in-jsf-2-0/[JSF 2
PostValidateEvent例]PostValidateEvent、コンポーネントが検証された後に起動します。
他のフレームワークとの統合
JSFを外部サービスと統合する方法
-
link://jsf2/jsf-2-0-jdbc-integration-example/[JSF 2.0 JDBC
統合の例]JDBCを使用してJSF 2.0をデータベースと統合する方法を示す例。
-
link://jsf2/jsf-2-0-spring-integration-example/[JSF 2.0 Spring
統合の例]JSF 2.0をSpringフレームワークと統合する方法を示す例。
-
link://jsf2/jsf-2-0-spring-hibernate-integration-example/[JSF 2.0
Spring Hibernate integration example]JSF 2.0 Spring Hibernateフレームワークをどのように統合するかを示す例。
よくある質問
JSF 2.0でよくある質問
-
link://jsf2/4-way-to-pass-jsf-page-to-backing-beanからのパラメータ/[どのようにして
JSFページからバッキングBeanにパラメータを渡す]** link://jsf2/how-to-pass-new-hidden-value-backing-bean-in-jsf/[どのようにして
JSFでバッキングBeanに新しい隠し値を渡す]** link://jsf2/split-faces-config-xml-into-multiple-files/[How to
faces-config.xmlを複数のファイルに分割]** link://jsf2/how-to-add-a-global-navigation-rule-in-jsf/[を追加する方法
JSFでのグローバルナビゲーションルール]** link://jsf2/where-is-jsf-2-taglib-javadoc/[JSF 2 taglibはどこにありますか
JavaDoc]** link://jsf2/how-to-include-cascading-styles-sheets-css-in-jsf/[How to
JSFにカスケード・スタイル・シート(CSS)を含める]** link://jsf2/how-to-include-javascript-file-in-jsf/[含める方法
JSFのJavaScriptファイル]** link://jsf2/how-to-pass-parameters-to-jsf-2-0-テンプレートファイル/[How to
JSF 2.0テンプレートファイルにパラメータを渡す]** link://jsf2/how-to-use-comments-in-jsf-2-0/[JSFでのコメントの使い方
2.0]** link://jsf2/how-to-pass-parameters-in-method-expression-jsf-2-0/[どのようにして
メソッド式のパラメータを渡す方法 – JSF 2.0]** link://jsf2/how-to-skip-validation-in-jsf/[検証をスキップする方法
JSF]** link://jsf2/access-a-managed-beanからイベントリスナー-jsf/[How to
JSFイベント・リスナーからマネージドBeanにアクセスする]
一般的なエラー
JSF 2.0の一般的なエラーメッセージ
-
link://jsf2/java-lang-illegalargumentexception-javax-faces-context-exceptionhandlerfactory/[java.lang.IllegalArgumentException:
javax.faces.context.ExceptionHandlerFactory]** link://jsf2/java-lang-classnotfoundexception-javax-servlet-jsp-jstl-core-config/[java.lang.ClassNotFoundException:
javax.servlet.jsp.jstl.core.Config]** link://jsf2/jsf-2-0-tomcat-it-the-jsp-version-of-the-container-is-2-1より古い/[JSF
2.0 Tomcat:コンテナのJSPバージョンが古い
2.1 …]** link://eclipse/eclipse-ide-unsupported-content-in-editor/[Eclipse
IDE:エディタでサポートされていないコンテンツタイプ]** link://jsf2/eclipse-ide-xhtml-code-assist-is-not-working-for-jsf-tag/[Eclipse
IDE:.xhtmlコードアシストがJSFタグで機能していません]** link://jsf2/jsf-2-0-f-ajax-unknown-idを含む/[JSF 2.0:<f:ajax>
未知のIDが含まれています]** link://jsf2/jsf-2-0-managed-bean-x-does-exist-check-that-getter-and-setter-methods-exist/[JSF
2.0:マネージドBean xが存在しない、適切なゲッターをチェックする
および/またはセッターメソッドが存在する]** link://jsf2/warning-jsf1063-warn-setting-non-serializable-attribute-value-httpsession/[警告:
JSF1063:警告!直列化不可能な属性値を次のように設定する
HttpSession]** link://jsf2/java-lang-classnotfoundexception-javax-el-expressionfactory/[java.lang.ClassNotFoundException:
javax.el.ExpressionFactory]** リンク://jsf2/cant-find-bundle-base-name-xxx-locale-en__us/[Can not can
ベース名xxx、ロケールen__USのバンドルを検索する]** link://jsf2/javax-naming-namenotfoundexception-name-jdbc-is-this-contextにバインドされていない/[javax.naming.NameNotFoundException:
名前jdbcはこのコンテキストではバインドされていません]
リファレンス
JSF 2.0のさらなる研究の参考サイト
ライフサイクル]。
http://www.ibm.com/developerworks/java/library/j-jsf3/
[Converterおよび
JSFで]