テンプレート ファイルと複合コンポーネントは、簡単に記述して使用できるため、エンド ユーザーの利便性のためだけのものです。基本的な JSF 実装 (f:
およびh:
コンポーネント) と、PrimeFacesなどのコンポーネント ライブラリは、完全に価値のある UI コンポーネントを使用します。JSFUIComponent
クラスを拡張したクラスです。
クラスの開発UIComponent
は比較的複雑で扱いにくいものです。タグファイル (XML ファイル内のすべての属性を定義する必要があります)、構成ファイル (コンポーネントとレンダラーを相互にリンクする) などを作成するなど、それらを開発するときに多くのことを考慮する必要がありますが、最終的には、よりモジュール化された再利用可能なモデルと、より優れた効率が得られます。それらはプレーンな古い JSP ファイルでも使用できます。
Facelets テンプレートは、Java クラスにコンパイルされない JSP ファイルとは異なります。これらは、すでに Java で記述されている SAX (XML) パーサーによってロードされ、実行されるだけです。
コメントに従って更新<c:if>
します。ビューにまったく関係のないビジネス/条件付きロジックが比較的多く含まれている場合、一般的にパフォーマンスが少し向上します<c:choose>
。制御された入力。
『JSF 2.0 The Complete Reference 』の第 10 章「非複合コンポーネント」では、カスタム UIComponent の開発についても説明しています。Java EE 5 チュートリアルでも同様にカバーされていますが、JSF 1.2 を対象としています。残念ながら、JSF 2 のJava EE 6 チュートリアルには含まれていませんが、手法は変更されていませんが、知っておく必要のある新しい注釈がいくつかあります。