struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephan (Jira)" <j...@apache.org>
Subject [jira] [Commented] (WW-5077) Unable to set long pathname variables
Date Wed, 20 May 2020 10:07:00 GMT

    [ https://issues.apache.org/jira/browse/WW-5077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17112015#comment-17112015
] 

Stephan commented on WW-5077:
-----------------------------

I just tried 2.5.20 , issue persists.   Just to confirm that the length of the parameters
afffects i made following changes in my variables. From metadataList to metadataLongList

 

 
{code:java}
<s:form action="save">
	<s:hidden name="test.name" value="Level-1_new" />
	<s:hidden name="test.metadataLongList[0].name" value="Level-2_new" />
	<s:hidden name="test.metadataLongList[0].metadataLongList[0].name" value="Level-3_new"
/>
	<s:hidden name="test.metadataLongList[0].metadataLongList[0].metadataLongList[0].name"
value="Level-4_new" />
	<s:hidden name="test.metadataLongList[0].metadataLongList[0].metadataLongList[0].metadataLongList[0].name"
value="Level-5_new" />
	<s:hidden name="test.metadataLongList[0].metadataLongList[0].metadataLongList[0].metadataLongList[0].metadataLongList[0].name"
value="Level-6_new" />
	<s:hidden name="test.metadataLongList[0].metadataLongList[0].metadataLongList[0].metadataLongList[0].metadataLongList[0].metadataLongList[0].name"
value="Level-7_new" />
	<s:submit/>
</s:form>	
{code}
 

With this change, i am now able to only set values (name) up to Level 5, while the list at
Level 5 is null. So it looks that the length seems to affect, unless i am missing something
in the configuration.

 

> Unable to set long pathname variables
> -------------------------------------
>
>                 Key: WW-5077
>                 URL: https://issues.apache.org/jira/browse/WW-5077
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.3.24
>            Reporter: Stephan
>            Priority: Major
>             Fix For: 2.5.23
>
>
>  
> I implemented a simple struts2+tiles (Struts 2 core version: 2.3.24.1) as a test case
to verify an issue that have.
> In detail, i have the following Struts form:
> {code:java}
> <s:form action="save">
>             <s:hidden name="metadataTest.name" value="Level-1_new" />
>             <s:hidden name="metadataTest.metadataList[0].name" value="Level-2_new"
/>
>             <s:hidden name="metadataTest.metadataList[0].metadataList[0].name" value="Level-3_new"
/>
>             <s:hidden name="metadataTest.metadataList[0].metadataList[0].metadataList[0].name"
value="Level-4_new" />
>             <s:hidden name="metadataTest.metadataList[0].metadataList[0].metadataList[0].metadataList[0].name"
value="Level-5_new" />
>             <s:hidden name="metadataTest.metadataList[0].metadataList[0].metadataList[0].metadataList[0].metadataList[0].name"
value="Level-6_new" />
>             <s:hidden name="metadataTest.metadataList[0].metadataList[0].metadataList[0].metadataList[0].metadataList[0].metadataList[0].name"
value="Level-7_new" />
>             <s:submit/>
>  </s:form> 
> {code}
> The metadataTest class:
> {code:java}
> public class Metadata implements Serializable {
> /** The Constant serialVersionUID. */
> private static final long serialVersionUID = 5902230367443812176L;
> private String name;
> private ArrayList<Metadata> metadataList;
> public Metadata() {
> }
> public String getName() {
>     return name;
> }
> public void setName(String name) {
>     this.name = name;
> }
> public ArrayList<Metadata> getMetadataList() {
>     return metadataList;
> }
> public void setMetadataList(ArrayList<Metadata> metadataList) {
>     this.metadataList = metadataList;
> }
> }
> {code}
> My issue here is following. When i submit this form, all values up to this level, are
set correctly
> {code:java}
> <s:hidden name="metadataTest.metadataList[0].metadataList[0].metadataList[0].metadataList[0].metadataList[0].name"
value="Level-6_new" />
> {code}
> For some reason the below hidden element is never set, instead, the medataList at level
6 is null, while the name set by the hidden field above, is set correctly.
> {code:java}
> <s:hidden name="metadataTest.metadataList[0].metadataList[0].metadataList[0].metadataList[0].metadataList[0].metadataList[0].name"
value="Level-7_new" />
> {code}
> Is there any kind of limitation by struts concerning the depth in a list hierarchie or
maybe the length of path to set a value ? I could not find something related.
> *Note 1*: It surely has to do something with the length of the parameters. Once i changed
the variable names to longer ones, i was able to set values only up to Level 3.
> *Note 2*: Downgrading to Struts 2.1.6 resolves the issue. Also latest version 2.5.22
seems to be afffected from the exact same issue. Is there any workaround ?
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message