[ 
https://issues.apache.org/struts/browse/WW-2595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43643#action_43643
 ] 

Jon Wilmoth commented on WW-2595:
---------------------------------

I haven't tried the same thing in the original package.  As soon as I do I'll 
update this ticket.  When I entered the issue I wasn't sure if this should be 
an enhancement or a bug.  Reading 
http://struts.apache.org/2.0.11.1/docs/package-configuration.html it says that 
"The extends attribute is optional and allows one package to inherit the 
configuration of one or more previous packages - including all interceptor, 
interceptor-stack, and action configurations."  This leads me to believe that 
the interceptor's declaration should be inherited as packageB does extend 
packageA.


> Overriding subset of interceptor params
> ---------------------------------------
>
>                 Key: WW-2595
>                 URL: https://issues.apache.org/struts/browse/WW-2595
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.0.11
>            Reporter: Jon Wilmoth
>
> Trying to override one of three interceptor parameters in an action specific 
> config using method #2 described in 
> http://struts.apache.org/2.0.11.1/docs/interceptors.html#Interceptors-InterceptorParameterOverriding
>  leaves the params that aren't overridden in the action (but defined in stack 
> definition) null.  Unfortunately, the other two parameters that I'm not 
> overriding are not being taken from the default stack definition and are 
> ending up as null on the interceptor.  Below is a sample action config 
> showing what I'm attempting...
> <package name="packageA"...>
>     <interceptors>
>         <interceptor name="myInterceptor" class="..."/>
>         <interceptor-stack name="myStack">
>             <interceptor-ref name="defaultStack"/>
>             <interceptor-ref name="myInterceptor">
>                 <param name="paramA">defaultValueA</param>
>                 <param name="paramB">defaultValueB</param>
>                 <param name="paramC">defaultValueC</param>
>             </interceptor-ref>
>         </interceptor-stack>
> </package>
> With the following action config, the "myInterceptor" interceptor's  paramA & 
> paramB are null (causing the interceptor logic to break) and not 
> "defaultValueA" and "defaultValueB" as expected/desired.
> <package name="packageB" extends="packageA"...>
>     <action name="myAction" class="myActionClass">
>         <interceptor-ref name="myStack">
>             <param name="myInterceptor.paramC">actionSpecificValue</param>
>         </interceptor-ref>
>     </action>
> </package>
> BTW...defining the action with all parameters overridden (see below) works:
> <action name="myAction" class="myActionClass">
>   <interceptor-ref name="myStack">
>      <!--  same value as defined in "myStack" declaration  -->
>      <param name="myInterceptor.paramA">defaultValueA</param>
>      <!--  same value as defined in "myStack" declaration  -->
>      <param name="myInterceptor.paramB">defaultValueB</param>
>      <param name="myInterceptor.paramC">actionSpecificValue</param>
>  </interceptor-ref>
> </action>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to