nikos dimitrakas created WW-5556:
------------------------------------
Summary: Interceptor params and nested interceptor stacks
Key: WW-5556
URL: https://issues.apache.org/jira/browse/WW-5556
Project: Struts 2
Issue Type: Bug
Components: IDEA Plugin
Reporter: nikos dimitrakas
When specifying parameters to interceptors that are part of an interceptor
stack, using "method 2" according to
[https://struts.apache.org/core-developers/interceptors#interceptor-parameter-overriding|https://struts.apache.org/core-developers/interceptors#interceptor-parameter-overriding)]
one specifies the interceptor name and the parameter name. This works
correctly (no error and correct code completion) only if the interceptor is
directly in the stack. So, the following case works fine:
<interceptor-stack name="abStack">
<interceptor-ref name="aInterceptor"/>
<interceptor-ref name="bInterceptor"/>
</interceptor-stack>
and then in an action:
<interceptor-ref name="abStack">
<param name="aInterceptor.param1">value</param>
</interceptor-ref>
But if a stack contains another stack then the interceptor name is marked as an
error and no code completion is offered. The following case does not behave
correctly in IntelliJ's editor (work fine on runtime of course):
<interceptor-stack name="abStack">
<interceptor-ref name="aInterceptor"/>
<interceptor-ref name="bInterceptor"/>
</interceptor-stack>
<interceptor-stack name="abcStack">
<interceptor-ref name="abStack"/>
<interceptor-ref name="cInterceptor"/>
</interceptor-stack>
<interceptor-ref name="abcStack">
<param name="{color:#de350b}aInterceptor{color}.param1">value</param>
</interceptor-ref>
The code completion actually suggests "abStack" and then no parameters since
abStack is not an interceptor.
So, two problems:
1. Understand recursive stacks for the interceptor params.
2. Do not offer stacks as interceptors with code completion in the param
element's name attribute.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)