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)