[
https://issues.apache.org/struts/browse/WW-2595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43633#action_43633
]
Dave Newton commented on WW-2595:
---------------------------------
@Jon: Just out of curiosity, if you try the same thing in the original package
(packageA in your example) does it work or is the behavior the same?
As a preliminary guess I would say that when an action gets its own
interceptor-ref it's actually creating new instances of the interceptors. This
implies that only properties set in the action's interceptor-ref would be set
on the new interceptors.
I won't close this pending someone else confirming this; I'm just too swamped
at the moment to dig into it; sorry.
> 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.