You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Lukasz Lenart (Jira)" <ji...@apache.org> on 2022/10/22 13:35:00 UTC
[jira] [Updated] (WW-3647) Adding a jndi-lookup Spring bean breaks ServletActionRedirectResult
[ https://issues.apache.org/jira/browse/WW-3647?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lukasz Lenart updated WW-3647:
------------------------------
Fix Version/s: 7.0.0
(was: 6.1.0)
> Adding a jndi-lookup Spring bean breaks ServletActionRedirectResult
> -------------------------------------------------------------------
>
> Key: WW-3647
> URL: https://issues.apache.org/jira/browse/WW-3647
> Project: Struts 2
> Issue Type: Bug
> Components: Dispatch Filter, Plugin - Spring
> Affects Versions: 2.2.3
> Reporter: Miguel Almeida
> Assignee: Lukasz Lenart
> Priority: Major
> Labels: injection, redirectAction, spring, struts2
> Fix For: 7.0.0
>
> Attachments: redirectActionErrorTest.zip, redirectActionErrorWithJunitTest.zip
>
>
> When you add the following bean to a Spring-Struts application:
> <jee:jndi-lookup jndi-name="someName" id="currentEnvironment" default-value="XXXX" />
> Whenever you have an action with a redirectAction type, Struts will try to redirect you to:
> http://localhost:8080/XXXX/index!XXXX.action#XXXX
> This happens because the 3 String argument constructor for ServletActionRedirectResult will set action, method and namespace to whatever value is defined for that bean (XXXX in the example, if you don't have a someName JDNI property).
> This only happens when you let struts manage ServletActionRedirectResult. If you add the following Spring bean:
> <bean id="myRedirect" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"
> scope="prototype" autowire="byName">
> </bean>
> and add a <result-type name="myRedirect" class="myRedirect" /> result type, the problem doesn't appear.
> I've added a testCase for you to confirm.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)