Hi Lukasz,

We use the *chain *interceptor and action in 3 of our applications.

Some example in our struts.xml files include:

<interceptor-ref name="chain"/>

<action name="index">                   <result type="chain">                   
<param
name="actionName">show</param>          </result></action>

<result name="previous" type="chain">   <param
name="actionName">profileApplicationSkillsInit</param></result>

Please let me know what the plan is in advance so we can act accordingly.

Thank you,
Davo


On Sun, Oct 25, 2026 at 10:07 AM Lukasz Lenart <[email protected]>
wrote:

> Hi,
>
> We are considering deprecating action chaining and removing it in a
> future major release. This covers the "chain" result type
> (org.apache.struts2.result.ActionChainResult), the "chain" interceptor
> (org.apache.struts2.interceptor.ChainingInterceptor) that copies the
> previous action's properties onto the next one, and the Unchainable
> marker interface.
>
> Action chaining has been documented as "not recommended" for a long
> time. It runs a second action inside the first request with its own
> interceptor stack, shares the value stack between the two actions, and
> copies action properties by name, which makes the flow of data between
> them hard to follow and hard to secure. The alternatives cover the usual
> cases:
> - the "redirectAction" result (Redirect After Post), which sends the
> browser to the next action and keeps each request to one action
> - moving the shared logic into a service or a base class that both
> actions call directly
> - ScopedModelDriven or the session, where state has to survive between
> the two steps
>
> One thing to check if you use the Convention plugin: it chains
> implicitly. When an action "foo" returns a result code "bar" and no
> result is configured for it, and an action named "foo-bar" exists in the
> same package, the plugin builds a chain result to it. You may be relying
> on chaining without a <result type="chain"> anywhere in your
> configuration.
>
> Before we decide, we would like to know whether anyone still relies on
> action chaining. If you use it, please reply and tell us what you use it
> for, especially if the alternatives above would not work for you.
>
> Thanks in advance!
> Lukasz
>

Reply via email to