Java EE6チュートリアルに従っていますが、JSFとFaceletsの違いがわかりません。第4章には「単純なJavaServerFacesアプリケーションの開発」セクションがあり、第5章には「開発中」セクションがあります。単純なFaceletsのアプリケーションであり、私が見る限り、これらの例はまったく同じプロセスを使用しています-マークアップ用の.xhmtlページ、データを保持するためのバッキングBean、そしてURLを 'FaceletsServletにマップするweb.xmlファイル'。
私が収集できるのは、Faceletsは、Webページをマークアップするために使用される<h:head>や<h:inputText>などのタグが付いた.xhtmlページです。
では、JSFとは何ですか? JSPまたはFaceletsのいずれかをJSFで使用できることを読みましたが、JSFの役割は、JSPまたはFaceletsで使用されるタグライブラリを提供することであるということですか?
JSF-Java Server Facesは、包括的なアプリケーション開発フレームワークです。これには多くの側面が含まれ、そのうちの1つがビューハンドラです。 JSF(Wikipedia) 、 JSF(スタックオーバーフロー) 。
FaceletsはJSFのビューハンドラーです。 JSF 2.0以前は、JSPがデフォルトのビューハンドラでしたが、問題は、JSPがJSFのコンポーネントベースのフレームワークでうまく機能しなかったことでした。 Faceletsは、JSFでうまく機能するようにゼロから設計されました。 Facelets(Wikipedia) 、 Facelets(Stack Overflow)
タグライブラリは、JSF仕様の別の部分です。これらはUIコンポーネントのコレクションです。 Faceletsはtaglibではなく、多くのtaglibをFaceletsで使用できます。
JSFは、おそらくすでにコンポーネントベースのシステムを収集しているとおりです。これらのコンポーネントはライブラリに編成されています。
JSFは基本標準であり、標準のtaglibsコアとhtmlを定義します。これらには、入力フィールド、ボタン、ラベル、リンクなどの基本要素のタグが含まれます。 Faceletsはfaceletstaglibであり、元々は個別に配布されていましたが、現在はJSF標準に含まれています。フェイスレットには、テンプレートに使用できるui:composition、ui:insert、ui:defineなどのタグが含まれています。 Primefaces、Richfaces、Tomahawk、Trinidadなど、JSFで使用できるタグライブラリは他にもたくさんあります。
Jspを使用する前は、JSFはFaceletsで使用されていました。 Faceletは、xmlに基づくビューテクノロジーです。
Faceletsは元々、JSF1.1とJSF1.2の別個の代替ビュー宣言言語として作成され、どちらもデフォルトのビュー宣言言語としてJSPを使用していました。 JSF 2.0以降、FaceletsはJSFエキスパートグループによってデフォルトのビュー宣言言語として昇格されました。 JSPは非推奨になりました。
ファセットが提供する重要な機能は、テンプレート、複合コンポーネント、コンテンツの再利用です。