[ 
https://issues.apache.org/jira/browse/WW-2851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lukasz Lenart closed WW-2851.
-----------------------------
    Resolution: Not A Problem

> IE 6 redirects to wrong action/page
> -----------------------------------
>
>                 Key: WW-2851
>                 URL: https://issues.apache.org/jira/browse/WW-2851
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.0.9
>         Environment: Windows Server 2003
> IE 6.0 (tried 2 versions of IE: 6.0.3790.0, 6.0.3790.1830)
>            Reporter: Maria Kan
>            Priority: Minor
>             Fix For: 6.1.0
>
>
> In struts.xml, login button is tied to LoginAction, however it sometimes goes 
> into another action/page, RegisterAction/register_new_user.jsp.
> The page works fine with FireFox and IE 7, but not IE 6.
> Snippet of struts.xml
> =================
> <action name="doLogin_*" 
> class="com.dds.paymentgateway.pgweb.enduser.actions.LoginAction" method="{1}">
>                       <interceptor-ref name="defaultStack">
>                               <!-- These are methods invoked from buttons on 
> the login page. No validation needed. -->
>                               <param 
> name="validation.excludeMethods">input,register,gotoFirstPage,retPassword,reloadPrepaid</param>
>                       </interceptor-ref>
>                       <result name="input">/WEB-INF/pages/login.jsp</result>
>                       <result name="success" 
> type="redirect-action">reloadPrePaidUser_input</result>
>                       <result name="register" 
> type="redirect-action">register_input</result>
>                       <result name="ret_pw" 
> type="redirect-action">retrievePassword_input</result>
>                       <result name="reload_pp" 
> type="redirect-action">reloadPrePaidUser_inputFromLogin</result>
> </action>
> <action name="register_*" 
> class="com.dds.paymentgateway.pgweb.enduser.actions.RegisterAction" 
> method="{1}">
>                       <interceptor-ref name="defaultStack">
>                       <param 
> name="validation.excludeMethods">input,populate,empty</param>
>                       </interceptor-ref>
>                       <interceptor-ref name="myToken">
>                               <param 
> name="excludeMethods">input,populate,empty</param>
>                       </interceptor-ref>
>                       <result 
> name="input">/WEB-INF/pages/register_new_user.jsp</result>
>                       <result name="success" 
> type="redirect-action">doLogin_input</result>
>                       <result 
> name="invalid.token">/WEB-INF/pages/register_new_user.jsp</result>
> </action>     
> <action name="retrievePassword_*" 
> class="com.dds.paymentgateway.pgweb.enduser.actions.RetrievePasswordAction" 
> method="{1}">
>                       <interceptor-ref name="defaultStack" />
>                       <interceptor-ref name="myToken">
>                               <param name="excludeMethods">input</param>
>                       </interceptor-ref>
>                       <result name="success" 
> type="redirect-action">doLogin_input</result>
>                       <result 
> name="input">/WEB-INF/pages/retrieve_password.jsp</result>
>                       <result 
> name="invalid.token">/WEB-INF/pages/retrieve_password.jsp</result>
> </action>
> ...
> Snippet of login.jsp
> ================
> <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
> <%@ taglib prefix="s" uri="/struts-tags" %>
> ...
> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
> "http://www.w3.org/TR/html4/loose.dtd";>
> <html>
> <head>
> <s:head theme="ajax" />
> <title><s:text name="title.login"/></title>
> <script type="text/javascript">
> function submitForm()
> {
>       document.loginForm.submit();
> }
> </head>
> <body >
> ...
> <s:form name="loginForm" action="doLogin_retPassword" theme="simple">
> <table>
> ....
> <%
>       /**
>        * default form action "doLogin_retPassword" by passes validation:-
>        * We will change to use default action when "Login" is pressed .
>        * By default, we need to have the form action to not do any 
> validation. Otherwise, any other modified action 
>        * (eg. having javascript to change the form action's value) will all 
> have login's validation associated with it, regardless
>        * of struts.xml 's configured "validation.excludeMethods" param values 
> for those actions.
>                       (eg. we could have entered in one email field in the 
> login form 
>                                and pressed "forgot password" link, and we'd 
> be brought back to the login screen with
>                                "password is required" validation error).
>        */
> %>
> ......
>                                        <!-- the login button -->
>                                       <td><s:submit id="loginButton" 
> type="button"
>                                               cssStyle="width: 70px;" 
> value="%{getText('login')}" action="doLogin" /></td>
>                                          ....
>                                       <!-- the Retrieve password link -->
>                                        <td><!-- use javascript here to make 
> the href do a submit -->
>                                       <!-- this is done because otherwise 
> form values won't get passed in correctly if submit isn't used. -->
>                                       <s:a href="Forgot_Password" 
> id="retPassword" cssClass="small" onclick="submitForm(); return false;">
>                                               <s:text name="forgotpassword" />
>                                       </s:a></td>
>                                         .......
>                                        <!-- register link -->
>                                         <td><s:a 
> href="doLogin_register.action" id="register" cssClass="small" 
> onclick="submitForm();">
>                                               <s:text name="notyetregistered" 
> />
>                                       </s:a></td>
>                                         ........
>                                         <!-- the register button, next to the 
> register link -->
>                                       <td><s:submit type="button" 
> value="%{getText('register')}"  action="doLogin_register" /></td>
>                                           .....



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to