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


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 is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to