在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 ”参数。
参考
翻译自: https://mkyong.com/struts2/struts-2-override-the-interceptor-parameters/