私は JSF2.0 を使い始めており、チュートリアルを参考にしましたが、次の質問があります。
このチュートリアルでは、 Mojarra プロジェクトのjsf-api.jar
、jsf-impl.jar
(JSTL も使用) の 2 つのライブラリのみを使用しました。
私もダウンロードしようとしましたが、サイトにアクセスできないようです。Apache MyFacesを使用しましたが、例を実行するには8つのjar(commons-*
、myfaces-*
)を追加する必要がありました。MyFaces
を使用する場合、なぜさらに多くのjarが必要なのでしょうか?より軽量なMojarraの方が良いでしょうか?また、ダウンロードページは確かにJSF モジャラ?
ありがとう
ベストアンサー1
MyFaces を使用する場合、なぜさらに多くの jar が必要になるのですか?
これらのcommons-*
依存関係は MyFaces にバンドルされていないためです。一方、これらのcommons-*
依存関係を使用する Apache.org の他のライブラリを使用している場合は、最終的にライブラリの合計サイズが小さくなります。
javax.faces.jar
Mojarra 2.1.6 以降では、単一の JAR ファイル形式が として利用可能であり、これは Mojarra 2.3.9 以降では に名前が変更されていることに注意してくださいjakarta.faces.jar
。
ライターとしてモジャラの方がいいでしょうか
これは議論の余地がありません。JSF 実装がどれだけ堅牢で、適切に保守されているかを確認する必要があります。
Mojarra の祖先である Sun JSF RI 1.0 と RI 1.1 の初期バージョンには、厄介なバグが多数存在していました。その時点 (2004 ~ 2006 年頃) では、MyFaces の方が間違いなく安定した選択肢でした。
2006 年初頭頃の 1.1_02 および 1.2_02 以降、新しい Sun/Oracle JSF 開発チームは素晴らしい仕事をしました。バグ修正だけでなく、パフォーマンスの強化も行いました。Mojarra 1.2 のライフタイムの半分ほど (2007 ~ 2009 年頃) には、Mojarra は MyFaces よりも優れた選択でした。
JSF 2.0では、新しい部分的な状態保存管理が導入され、特に大きなコンポーネントツリーを使用する場合、状態デルタを計算するための異なる、はるかに効率的なアプローチにより、パフォーマンスの点でMyFacesがより良い選択となりました。Mojarraが追いついたのはバージョン2.0からでした。2.1.222.0/2.1のタイムラインでは、Mojarraは<ui:repeat>
複雑/ネストされた構成(壊れた状態の保存、最後の反復フォームのみの処理、失敗<f:ajax>
など)およびフラッシュスコープの実装(最初の実装は完全に完璧ではありませんでした)。MyFaces にも独自のバグがありましたが、対処可能でした。
現時点では、JSF 2.2 ではどちらが優れているかを事前に言うことはできません。バグは後になって初めて明らかになることが多く、堅牢性はその後でしか評価できません。自分が「最良」だと思う実装を選んでください。問題レポートを参照してください (マイフェイセスそしてモハラ) にアクセスして、以前に修正された問題と現在未解決の問題について確認してください。特定のバグが発生した場合は、両方の実装を試して、一方と他方を除外してください。両方の実装の全体的な品質を高く保つために、必要に応じて報告してください。
また、ダウンロードページは確かにJSF モジャラ?
ホームページは何度か移転しており、現在(2019年11月)は次の場所にあります。https://eclipse-ee4j.github.io/mojarraライブラリは次の場所にありますorg.glassfish:jakarta.faces
Maven Centralでソースコードは以下にあります。eclipse-ee4j/mojarra
GitHubのプロジェクト。