SAStruts、バリデータ適用前に処理をしたい

まずおもいつくのはActionのメソッドにIntercepterを適用することですが、ActionWrapper#executeがアクション起動前にバリデータ呼ぶので無理ですね。
というわけでS2RequestProcessor#processActionCreateをすげかえて拡張したActionWrapperをつくるようにして、そのクラスをstruts-config.xmlのprocessorClassに指定してやるといいようです。

ActionWrapper#executeの拡張ポイントは以下。

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
		HttpServletRequest request, HttpServletResponse response)
		throws Exception {

	S2ExecuteConfig executeConfig = S2ExecuteConfigUtil.getExecuteConfig();
	if (executeConfig != null) {
		// このへんに処理追加。executeConfigからActionのメソッドとか取れる。
		return execute(request, executeConfig);
	}
	return null;
}