ActionWrapper#processErrorsの処理のカスタマイズ。

SAStrutsではStrutsのActionクラスをラップしたActionWrapperがexecuteを実行しているのでActionWrapper#processErrorsで対処してあげればいいです。 ActionWrapperのサブクラスMyActionWrapperをつくって、processErrorsのみオーバライドしたあとに、MyActionWrapperを呼ばせようとしてみましたが、ActionWrapperはS2RequestProcessor#processActionCreateで直接インスタンスを生成しているのでS2RequestProcessorもサブクラスを作らないとダメでした。diconなんかでやってないかなぁと淡い期待を抱きつつdicon探したら無かった。。。

みたいなことをやろうとしたんだけど、2つのクラスを独自に拡張するのもどうかと思っていったん保留。

気になったのでSTRUTS・イン・アクションとSourceを久々に読み直して、Strutsの実装を確認。

processActionCreateはActionのインスタンスを設定されたActionの中から取得してるみたいなので、Actionのサブクラスであればそのまま使用されるみたい。

またSAStrutsのActionWrapper#processErrorsに相当するのはRequestProcessor#processValidateで実装されているのでこの辺を拡張する場合はRequestProcessorを拡張すれば良いみたい。