struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lukasz Lenart (JIRA)" <>
Subject [jira] [Issue Comment Deleted] (WW-4336) Action tag does not process list type parameters correctly
Date Fri, 16 May 2014 12:00:32 GMT


Lukasz Lenart updated WW-4336:

    Comment: was deleted

(was: I briefly reviewed WW-1960 and this issue and for now I don't see simple fix - basically
you had been basing on buggy solution as action never can receive {{Iterator}} via {{HttpServletRequest}},
if you'd want to use {{someAction2}} as a standalone action it won't work because of that.
It can work only in this case, via {{<s:action/>}} tag)

> Action tag does not process list type parameters correctly
> ----------------------------------------------------------
>                 Key: WW-4336
>                 URL:
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Actions, Plugin - Tags
>    Affects Versions:
>            Reporter: Gautham
>             Fix For: 2.3.18
> Hello Everyone. 
> While migrating application from struts 2.0.11 to 2.3.15.x encountered below issue -

> There is a list of objects available in a jsp, within which an action is invoked ( using
s:action tag ) and that list is passed down for use in the callee action (this is being done
to populate a table). This approach worked with struts 2.0.11, but with 2.3.15 - the list
is being converted to string first before being passed to the callee action and is unusable
by the time its received.
> With some debugging, figured out this piece of code was doing the conversion to string..

> {{ActionComponent.createParametersForContext()}}
> {code:java}
> String key = (String) entry.getKey();  
> Object val = entry.getValue();  
> if (val.getClass().isArray() && String.class == val.getClass().getComponentType())
>      params.put(key, (String[])val);  
> } else {  
>      params.put(key, new String[]{val.toString()});  
> }  
> {code}
> relevant code snippet in jsp looks like this 
> {code:html}
>  <s:action name="someAction2" executeResult="true" namespace="/common" >  
>     <s:param name="iterable" value="#iter"/>  
> {code}
> Is this an intended change in behavior ? I couldn't find relevant details in the release
notes or the migration guide.  What's the recommended approach to migrate such components

This message was sent by Atlassian JIRA

View raw message