TeedaでWebアプリを作ってみる
最近のJavaのWebアプリケーションフレームワークの動きからとり残され気味な気がしたので、ふと思いついて、Seasar2+S2JDBC+Teedaをちょっと試してみました。
以下で参照できるドキュメントやサンプルを参考に、簡単なWebアプリを作ったりしました。
The Seasar Project
Java Expert #02
以下、良いと思ったこと。
- HTMLテンプレートは、見た目を確認しながら画面が作れるので便利
- HOT DEPLOYは、コードを変えてから、すぐに動作確認できるのは良い
- プロパティの自動バインディングは、必要なコンポーネントのsetter/getterを作るだけで、自動でコンポーネントが設定されるので便利
ここが辛いと思ったこと。
- 最低限のチュートリアルしかないので、それなりに複雑なものを作ろうとすると、公開されているドキュメントを一通り読まないといけないのは、ちょっとつらいかな
- ドキュメントが全くなくて、ソースを読まないといけないよりはマシだけど
- 似たような機能のプロダクトが多いので、最初見たとき、どれを組み合わせてWebアプリを作れば良いのか分からなかった
はまったこと。
- JavaBeansのListの要素を繰り返し表示(foreach)するときに、そのJavaBeansと同じプロパティをPageにも持たせる必要があること
- anchorタグだと、doXXXでPageのメソッドを呼ぶことができない
- http://teeda.seasar.org/ja/extension_component_reference.html#link
- Java Expert #02に書いてある、不可視のサブミットボタンをJavaScriptでclick()する方法で、対処することは可能
- (Seasar2じゃないけど)MySQLのデフォルトのストレージエンジンMyISAMだと、トランザクションのロールバックが効かない
- InnoDBに変更して対処した
辛いところはいくつかあるけど、従来のstrutsとかと比べれば、開発効率は結構良さそう。もう少し本格的に使ってみようかな。