私は以前、ビューテクノロジとしてJSPを使用していました。しかし、JSF-2.0の新しい推進力は、開発者がテンプレートテクノロジとしてFaceletsを使用することです。しかし、これが深刻な問題であるかどうか?JSFのビューにJSPを引き続き使用すると、何かが失われますか?まさにこの技術よりも優れていますか?作品XHTMLとJSPの間に根本的な違いはありますか?誰かが答えてくれたらとてもありがたいです!ありがとうございました
3 に答える
新しいビュースコープとFaceletsの追加は、サポートajaxとアノテーションとともにJSFの主要な改善です。このテクノロジーは、JSF2.0の非常に重要で強力なプロパティです。ですから、必要がなければ無視することはお勧めしません。
FaceletsはレガシーJSPよりもはるかに明確で柔軟なユーザーインターフェイス開発メカニズムを提供するため、JSPはJSF2.0から推奨されていません。フェイスレットは、いくつかの基本的な理由ではるかに優れています。
- Faceletsタグは、タグライブラリ記述子ファイル(TLD)で宣言する必要はありません。
- タグの属性は動的であり、プロパティに自動的にマップされます。これは、JSPispageでは利用できない主な機能の1つです。
- 非常に使いやすいページテンプレート機能。カスタマイズの範囲を持つすべてのビューページへの汎用レイアウトを定義するテンプレートを定義します。
- JSF仕様のJSP側は静止しています。新しいタグ(複合コンポーネント、ajax、システムイベントなど)を含む新機能は、JSPを通じて公開されません。
- さらに、FaceletsはJSPよりも実行が高速です。
一般に、JSF 2.0のビューテクノロジとしてのJSPは、より厄介で保守が難しいと考えられています。
JSFを使用する場合は、JSPとJSFがあまり一致しないため、JSPではなくFaceletsを使用する必要があります。主な問題は、JSPの世界がJSFのライフサイクルについて何も知らないことです。いくつかの例については、この記事を読むことができます。Faceletsは、JSFに一致するように特別に作成されているため、これらの問題はありません。
xhtmlとjspのどちらかを選択することはできません。JSPは、ブラウザに送信するテキストベースの応答を作成するためのサーバー側のテンプレートメカニズムです。そのテキスト応答は、xhtml、html、json、xml、またはその他のテキスト形式である可能性があります。したがって、jspを使用してxhtmlを作成できます。どちらかを選択する必要はありません。
拡張機能を変更したからといって、何か別のことをしているわけではありません。あなたはそれをあなたが呼ぶものを変えているだけです-そうする特別な理由はありません、そしてそれは混乱しています。