You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "nikos dimitrakas (Jira)" <ji...@apache.org> on 2025/07/18 11:33:00 UTC

[jira] [Created] (WW-5556) Interceptor params and nested interceptor stacks

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)