Struts 2はインターセプタのパラメータをオーバーライドします
Struts 2では、汎用
<param>
タグを使用してインターセプタ・パラメータを設定または上書きできます。下記の例を参照してください
<package name="default" namespace="/" extends="struts-default"> <action name="whateverAction" class="com.mkyong.common.action.WhateverAction" > <interceptor-ref name="workflow"> <param name="excludeMethods">whateverMethod</param> </interceptor-ref> <result name="success">pages/whatever.jsp</result> </action> </package>
しかし、上記のスニペットでは、アクションクラスはそれ自身のインターセプタであると宣言され、継承した ”
defaultStack
“インターセプタを即座に失うことになります。
”
defaultStack
“インターセプタを保持し、
ワークフローのexcludeMethods
パラメータをオーバーライドする場合はどうなりますか?問題ありません、これを試してください
<package name="default" namespace="/" extends="struts-default"> <action name="whateverAction" class="com.mkyong.common.action.WhateverAction" > <interceptor-ref name="defaultStack"> <param name="workflow.excludeMethods">whateverMethod</param> </interceptor-ref> <result name="success">pages/whatever.jsp</result> </action> </package>
上記のスニペットは ”
defaultStack
“インターセプタを保持し、 ”
workflow
“パラメータをオーバーライドします。
リファレンス
インターセプタのドキュメント]。
http://struts.apache.org/2.0.14/docs/workflow-interceptor.html
[Struts
2ワークフローインターセプタのドキュメント]