You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Burton Rhodes (Jira)" <ji...@apache.org> on 2022/10/13 12:02:00 UTC

[jira] [Updated] (WW-5241) is generating an invalid url when used in conjunction with ExecuteAndWait interceptor

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

Burton Rhodes updated WW-5241:
------------------------------
    Description: 
 

After upgrading to v6.0.3 (from v6.0.0), the ExecuteAndWait implementation using this [method|[https://struts.apache.org/core-developers/execute-and-wait-interceptor]] inserts "!methodName" into the to the refresh url. This results in a url that doesn't match a struts action - resulting in a 404 error.
   
A real world example is below:

Action Definition  
{code:java}
<action name="LetterMergeBulk_contactList" class="com.afs.web.struts.action.letters.LetterMergeBulkAction" method="contactList">
       <interceptor-ref name="ExecuteAndWaitInterceptor" />
       <result name="wait">/struts/letters/letterMergeBulkWait_popup.jsp</result>
       <result>/struts/letters/letterMerge_popup.jsp</result>
</action>{code}
 

 

ExecuteAndWait (letterMergeBulkWait_popup.jsp) JSP Snippet

 
{code:java}
<head>
    <title>Please wait</title>
    <meta http-equiv="refresh" content="5;url=<s:url includeParams="all" />"/>
</head>{code}
 

 

<s:url> result in v6.0.3 - notice the inserted "!contactList" in the url
{code:java}
/afs/app/LetterMergeBulk_contactList!contactList.action?struts.token.name=token&token=A9SIKBABK17IZFM6AHSP0QSFIJHLZKJB&letterTemplateId=14773{code}
   
<s:url> result in v6.0.0
{code:java}
/afs/app/LetterMergeBulk_contactList.action?struts.token.name=token&token=A9SIKBABK17IZFM6AHSP0QSFIJHLZKJB&letterTemplateId=14773{code}
 

 

This issue was introduced in WW-5190

  was:
 

After upgrading to v6.0.3 (from v6.0.0), the ExecuteAndWait implementation using [this method|[https://struts.apache.org/core-developers/execute-and-wait-interceptor]] inserts "!methodName" into the to the refresh url. This results in a url that doesn't match a struts action - resulting in a 404 error.
   
A real world example is below:

Action Definition  
{code:java}
<action name="LetterMergeBulk_contactList" class="com.afs.web.struts.action.letters.LetterMergeBulkAction" method="contactList">
       <interceptor-ref name="ExecuteAndWaitInterceptor" />
       <result name="wait">/struts/letters/letterMergeBulkWait_popup.jsp</result>
       <result>/struts/letters/letterMerge_popup.jsp</result>
</action>{code}
 

 

ExecuteAndWait (letterMergeBulkWait_popup.jsp) JSP Snippet

 
{code:java}
<head>
    <title>Please wait</title>
    <meta http-equiv="refresh" content="5;url=<s:url includeParams="all" />"/>
</head>{code}
 

 

<s:url> result in v6.0.3 - notice the inserted "!contactList" in the url
{code:java}
/afs/app/LetterMergeBulk_contactList!contactList.action?struts.token.name=token&token=A9SIKBABK17IZFM6AHSP0QSFIJHLZKJB&letterTemplateId=14773{code}
   
<s:url> result in v6.0.0
{code:java}
/afs/app/LetterMergeBulk_contactList.action?struts.token.name=token&token=A9SIKBABK17IZFM6AHSP0QSFIJHLZKJB&letterTemplateId=14773{code}
 

 

This issue was introduced in [WW-5190|https://issues.apache.org/jira/browse/WW-5190]


> <s:url includeParams="all"> is generating an invalid url when used in conjunction with ExecuteAndWait interceptor
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: WW-5241
>                 URL: https://issues.apache.org/jira/browse/WW-5241
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Tags
>    Affects Versions: 6.0.3
>            Reporter: Burton Rhodes
>            Priority: Major
>             Fix For: 6.1.0
>
>
>  
> After upgrading to v6.0.3 (from v6.0.0), the ExecuteAndWait implementation using this [method|[https://struts.apache.org/core-developers/execute-and-wait-interceptor]] inserts "!methodName" into the to the refresh url. This results in a url that doesn't match a struts action - resulting in a 404 error.
>    
> A real world example is below:
> Action Definition  
> {code:java}
> <action name="LetterMergeBulk_contactList" class="com.afs.web.struts.action.letters.LetterMergeBulkAction" method="contactList">
>        <interceptor-ref name="ExecuteAndWaitInterceptor" />
>        <result name="wait">/struts/letters/letterMergeBulkWait_popup.jsp</result>
>        <result>/struts/letters/letterMerge_popup.jsp</result>
> </action>{code}
>  
>  
> ExecuteAndWait (letterMergeBulkWait_popup.jsp) JSP Snippet
>  
> {code:java}
> <head>
>     <title>Please wait</title>
>     <meta http-equiv="refresh" content="5;url=<s:url includeParams="all" />"/>
> </head>{code}
>  
>  
> <s:url> result in v6.0.3 - notice the inserted "!contactList" in the url
> {code:java}
> /afs/app/LetterMergeBulk_contactList!contactList.action?struts.token.name=token&token=A9SIKBABK17IZFM6AHSP0QSFIJHLZKJB&letterTemplateId=14773{code}
>    
> <s:url> result in v6.0.0
> {code:java}
> /afs/app/LetterMergeBulk_contactList.action?struts.token.name=token&token=A9SIKBABK17IZFM6AHSP0QSFIJHLZKJB&letterTemplateId=14773{code}
>  
>  
> This issue was introduced in WW-5190



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