直接贴示例,示例也摘自 官方 Interceptor 向导文档:设置 defaultStack 拦截器栈中的 validation 拦截器(实现类是 org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor)的excludeMethods参数,以及 workflow拦截器(实现类是 com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor)中的excludeMethods参数。
     
     第一种方法:
 
<action name= "myAction" class = "myActionClass">
    <interceptor-ref name = "exception"/>
    <interceptor-ref name = "alias"/>
    <interceptor-ref name = "params"/>
    <interceptor-ref name = "servletConfig"/>
    <interceptor-ref name = "prepare"/>
    <interceptor-ref name = "i18n"/>
    <interceptor-ref name = "chain"/>
    <interceptor-ref name = "modelDriven"/>
    <interceptor-ref name = "fileUpload"/>
    <interceptor-ref name = "staticParams"/>
    <interceptor-ref name = "params"/>
    <interceptor-ref name = "conversionError"/>
    <interceptor-ref name = "validation">
        <param name= "excludeMethods" >myValidationExcudeMethod </ param>
    </interceptor-ref >
    <interceptor-ref name = "workflow">
        <param name= "excludeMethods" >myWorkflowExcludeMethod </ param>
    </interceptor-ref >
</action>
 
     第二种方法:
 
<action name= "myAction" class = "myActionClass">
  <interceptor-ref name = "defaultStack">
    <param name= "validation.excludeMethods" >myValidationExcludeMethod </ param>
    <param name= "workflow.excludeMethods" >myWorkflowExcludeMethod </ param>
  </interceptor-ref >
</action
 
     显然第一种方法挺麻烦的,如果有多个 action 都需要设置,那么得不停的拷贝粘贴那些重复的 interceptor-ref。第二种方法只需要设置该defaultStack中需要配置参数的 interceptor 的 参数即可,只是在 param.name 中加上 interceptor name 的前缀。