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)