Teeda Core
Teeda Coreとは、JavaServer Facesの実装で、主に以下のような機能を提供します。
- JSFの標準コンポーネント(JSFに規定されているコンポーネント一式)
- S2ContainerによるDIとAOPの機能
- JSF用テスティングフレームワーク(TeedaUnit)
現状はJSF1.1に準拠した実装となっています。
[ Teeda, Struts, 通常のJSFの機能比較 ]
| Teeda | Struts | 通常の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の任意のメソッドで処理 |
|