試してみた

ActionFormの利用。

dto
パッケージに
XxxDto
として、Formをおき(もちろん直列化可能であること)
Actionで、
@ActionForm
XxxDto xxxDto;

として置くと、ネストしたオブジェクトとしてではなく、
ActionFormとして利用できる。
何が言いたいかというと、ネストしたプロパティではないということ。
Strutsとして考えれば、当然といえば当然か・・・

<html:text property="name"/>

とすると、
xxxDto#name
に値がセットされる。

ここで、ActionFormではなく、ただの構造化したクラス
たとえば、検索条件オブジェクトなどとして扱いたい場合、
@ActionFormアノテーションを除外し、

<html:text property=" xxxDto.name"/>

とすると、ネストしたプロパティとして値のセットが出来る。

便利。
だけど最初間違いやすそうな気がする。

しみじみと思う

Strutsは忘れてたけど、リクエストプロセッサとして優秀だなぁ・・・
対象が広すぎないのがよい。
確かに、xml書くのが面倒だったり、
型変換も面倒くさい。
若干癖はあるものの、こんだけ簡単にできるSAStrutsいいかも。


ただ、SAStrutsいじってみると、
同時にteedaの良さを再認識。
ある程度の規模とか、リプレイスなら、SAStrutsで、
ちょっとした規模のスクラッチならteedaとかかな?

はまった・・・

sastruts.VIEW_PREFIX
の設定が効かず、絶対パスjsp指定していたんだけど、
これもバージョンが原因。
1.0.2にしてビルドパス変えたのに動かないなぁ・・・
っておもってたっけ、
古いjarを消していないで、libフォルダに入ってたから。
ってなさけないはまりをしてしまった。


初歩的なはまりですね