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/09/14 19:10:00 UTC

[jira] [Closed] (WW-2851) IE 6 redirects to wrong action/page

     [ 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)