iBatis

ふっとしたことからiBatisを見ていた。

BeanActionクラス

ExampleのPetStoreを見ていたのだが面白いStrutsの使い方をしていたのでメモ。
すべてのActionをBeanActionで処理し、Pathあるいはパラメータからメソッド名を組み立てて、Formから継承したBeanの中のメソッドを呼び出すという利用法。
リクエストの値が入っているFormに処理メソッドもあるということになるのだが、
メリットとしては、入力値が同じ時でもActionが違う場合に

  • Actionを分ける
  • executeメソッドの中で分岐する。

いずれの場合もデメリットが眼につくが、iBatisの使い方ならそのデメリットはない。
だが、Formの情報に依存した構造を作ることに抵抗がないわけではない。
そのあたりが選択の基準になると思われる。

PaginatedList

表示のページを意識したデータ構造を作るためのコレクション。
Daoの戻り値がこの形式になっているのに抵抗を感じるが、作る上ではそれもありかと。
でもDaoからは普通のListで戻して、Actionここでの場合はBeanがPaginatedListにラッパしてくれた方がすっきりするかな。

Springとの組み合わせは見てみようかな。
豆蔵の人が書いたSpring本を買ってこよう。