てぃーだ

業務モデルの検証用プロトタイプをさくっと作るために、Java で画面が簡単に作れるフレームワーク何がいいかな? というわけで、遅ればせながら機能から Seasar 2.4 & Teeda & Dolteng をさわってみた。お決まりの Hello, World! から、テーブル表示まで。残念ながらなかなかさくっとはいかず1日半ほどかかってしまいました。参考までにはまった点をメモしておきます。

Teeda

Seasar Project による JSF 実装。HTML テンプレートとか PRG パターンの採用などが特徴。素の JSF 自体あまり知らないんだけど、一度さわっておいた方がいいかもしれないな。

  • HTML じゃなくて XHTML で記述する必要がある。
  • エンコーディングUTF-8 が無難そう。*1
  • サンプルや Dolteng で生成されるコードに DOCTYPE 宣言が書かれているが、書かない方が無難。Xerces が DTD を読みにいくらしいが、インターネットにつながってなかったり、プロキシを経由しているとエラーになる。
  • アノテーションによる Validation の書き方のサンプルが欲しい。とりあえずソースを見ながらそれらしく書いたら動いた。
  • table タグの border 属性が上書きされてしまう。本番だとスタイルシートを使うと思うけれど、プロトなんでとりあえず罫線引きたかったんだけど。
  • テーブルの内容が表示されない。これが一番はまった!! 行データ用の DTO と同じ名前のプロパティを Page クラスにも定義する必要がある。う〜ん、これイマイチだなぁ。
    http://www.seasar.org/wiki/index.php?FAQ%2FTeeda#r6c95bf4
  • 動作上問題ないけれど、生成される HTML で、テーブルの各セルに振られる id が全部同じになるのが気になった。

Seasar 2.4

今まで2.3系を使っていたので、SMART Deploy は初体験。それなりに便利だけれど、結局 Tomcat の再起動が必要になることも多かった。

  • パッケージ名とクラス名の接尾辞はとりあえず規約にしたがっておいた方が無難。簡単に変更できそうではあるけど。
  • コンポーネントのスコープの設定は prototype が多いんですね。SMART Deploy のためでしょうか。とりあえずオンメモリで動作させたいので、WARM deploy に変更してみた。

Dolteng

Eclipseプラグイン。HTML テンプレートから Page クラスが作成できる。あと、HTML の ID と、対応する Page クラスのプロパティをマーキングしてくれるのは便利。

  • サーバ起動は Tomcat Launcher なんですね。仕事だと商用製品を使うことが多いので、WTP に対応してくれるとうれしいなぁ。
  • 後から HTML に追加した属性は、Page クラスへは手作業で追加しないといけない?

*1:UTF-8 にしたからって文字化けの問題は何ら解消されないので、イマイチ良さがわからないけれど。