アリなのかナシなのか謎だけど、まぁビビッたので軽くメモ的に。
struts-config-less
とりあえず、とある Action 内のコード。
ActionForward forward = new ActionForward( "/Hoge/Foo.do" );
forward.setName("SUCCESS");
struts-config.xml の意味が無いってレベルじゃねーぞ。まぁ、やっちゃいけないってわけじゃないんだろうけど・・・。
ところで、API リファレンス見ると ActionForward#freeze()*1 ってものがある。これを一度呼び出すと以降は setName や setPath を呼ぶと例外が発生して各種設定が出来なくなる。struts が設定ファイルを基に生成した ActionForward は freeze されてるのでパスとフォワード先をいじくれない。ちゃんと保護してんだなぁ・・・と感心?してしまった。
流れるようなアクション
最近話題なアレ的な意味でなくて。
....
....
....
Action のフォワード先が Action でそのフォワード先もまた Action で・・・。
コレ、ある Action の動作がその前に呼ばれる Action に 100% 依存しちゃってるんで、ものっそい動作予測がむつかしい。実装継承のほうが依存関係がコードに一応は現れる分まだマシやも・・・。コレに更に Session Hazard が絡んでくると・・・ヴァーン!