Seasar DI Container with AOP

Teeda Core

Teeda Coreとは?

Teeda Coreとは、JavaServer Facesの実装で、主に以下のような機能を提供します。

  • JSFの標準コンポーネント(JSFに規定されているコンポーネント一式)
  • S2ContainerによるDIとAOPの機能
  • JSF用テスティングフレームワーク(TeedaUnit)
現状はJSF1.1に準拠した実装となっています。

ドキュメント

Teeda vs Struts, MyFaces

[ Teeda, Struts, 通常のJSFの機能比較 ]
       TeedaStruts通常のJSF実装
DI機能 S2による高度なDI機能あり なし 簡易DI機能あり
AOP機能 S2による高度なAOP機能あり なし なし
HTMLテンプレート機能 あり なし なし
Ajax対応 Teeda Ajaxで実現 なし Ajax対応あり
初期化機能 Teeda Extensionでinitializeメソッドを提供 Actionクラスで指定 前のページのアクションで指定
入力値の保持 POJOを使って、UIComponentを自動的に処理 ActionFormでStringかbooleanに格納 POJOを使って、UIComponentを自動的に処理
入力値の型変換 指定されたConverterで自動変換(faces-config、またはdiconファイルにて管理) BeanUtils.copyProperties()と個別に変換 指定されたConverterで自動変換
入力値の検証 サーバサイドのみ。指定されたValidatorで自動検証(Commons validator同等機能を提供予定) クライアントサイド・サーバサイド共に利用可能 サーバサイドのみ。指定されたValidatorで自動検証
入力値のモデルへの適用 UIComponentによる自動適用 自前で変換 UIComponentによる自動適用
例外処理 例外ページ指定可能 例外クラスごとのページ指定 web.xmlの設定のみ。うまく遷移しない可能性あり
ボタンやリンクの処理 任意のPOJOの任意のメソッドで処理 特定クラス(Action)で処理 任意のPOJOの任意のメソッドで処理
レイアウト機能 Teeda Extensionで実現 Tilesにより実現 標準ではなし。(MyFacesではTilesとの連動機能あり)
一つのフォームに複数のボタンがある処理 ボタンごとに任意のPOJOの任意のメソッドで処理(Validatorも個別で設定可能) DispatchActionやLookupDispatchActionで処理可能だがいまいち。 ボタンごとに任意のPOJOの任意のメソッドで処理