0

私はプロジェクトに取り組んでおり、これらのコンポーネントがどのように機能するかを理解しようとしています。それぞれの役割に戸惑います。私の現在のタスクは、Tomcat 5.5 で JSF、MyFaces、Trinidad、Facelets を利用しているプロジェクトを取り、それを Tomcat 6.0 で実行することです。新しいコンテナーで実行すると、非常に奇妙な動作が発生します。そのため、これらのライブラリのいずれかを更新する必要があるかどうかを把握しようとしています。しかし、これらすべてがどのように連携するのか理解できないようです。だからここにいくつかの質問があります:

  • 使用している JSF のバージョンを確認するにはどうすればよいですか?
  • JSF、Facelets、MyFaces の違いは何ですか?
  • trinidad は JSF フレームワークであると読みました。これはJSFの拡張ですか?

この情報を踏まえて、Tomcat のバージョンはこれらのフレームワークに直接影響を与えますか?

4

1 に答える 1

6

JSFは、Java EE の一部であるコンポーネント ベースの MVC フレームワークです。JSF は単なる抽象的な仕様です (Java EE の他のほとんどすべてと同様)。実際に使用するには、具体的な JSF 実装が必要です。主な JSF 実装は Mojarra と MyFaces です。

MyFacesは具体的な JSF 実装の 1 つです。モハラはもう一つです。MANIFEST.MF具体的な JSF のバージョンは、JSF 実装 JAR ファイル内のファイルを確認することで確認できます。

Trinidadは JSF コンポーネント ライブラリです。JSF コンポーネント ライブラリは、任意の JSF 実装の上で使用される拡張機能です。コンポーネント ライブラリは、通常、標準コンポーネント セットの上に追加のコンポーネントを提供し、より多くのスキニング、アジャクシカル、および拡張機能を備えています。最終的な目標は、自家製のコードとコードの繰り返しを最小限に抑えることです。

Faceletsは XML ベースのビュー技術であり、JSP の後継です。XML 宣言によって JSF UI コンポーネントを定義し、それに沿ってプレーンなバニラ HTML をインライン化することができます。ビュー ファイルは、ビューのビルド時 (ビューの復元フェーズ) に最終的に解析されて に変換され、UIViewRootビューのレンダリング時 (応答のレンダリング フェーズ) に HTML が生成されます。この HTML はクライアント側に送信されます (Web ブラウザでページを開き、右クリックしてソースを表示)。

具体的な問題に関しては、Tomcat 5.5 は Servlet 2.4 コンテナーであるため、最高でも JSF 1.2 実装しか実行できません。Facelets は JSF 1.x にバンドルされていません。Facelets 1.x を個別にインストールする必要があります。Tomcat 6.0 は Servlet 2.5 コンテナであるため、JSF 2.0 実装を実行できます。Facelets はすでに JSF 2.0 にバンドルされているため、個別にインストールしないでください (すべきではありません)。次に、Trinidad を使用する場合は、JSF 仕様のバージョンと互換性のあるバージョンを入手してください。

以下も参照してください。

于 2012-05-04T14:05:33.417 に答える