[ https://issues.apache.org/jira/browse/WW-5065?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17075753#comment-17075753 ]
Aleksandr Mashchenko commented on WW-5065: ------------------------------------------ Haven't looked at the code, but isn't this needed for wildcard mappings in result? E.g. <result>/{1}.jsp</result> > AbstractMatcher adds values to the map passed into replaceParameters > -------------------------------------------------------------------- > > Key: WW-5065 > URL: https://issues.apache.org/jira/browse/WW-5065 > Project: Struts 2 > Issue Type: Bug > Affects Versions: 2.5.22 > Reporter: Alex Kaiser > Priority: Minor > Fix For: 2.6 > > > There is a bug with the AbstractMatcher#replaceParameters method in > struts/core/src/main/java/com/opensymphony/xwork2/config/impl/AbstractMatcher.java > (currently lines 153-170). As the function currently works it will return a > map that has more keys than the "orig" map that is passed into it. For > example, assume that I have the following config defined in my struts.xml > file: > {code:java} > <package name="test" namespace="/test"> > <action name="{paramOne}/{paramTwo} class="org.MyActionClass" > method="execute"> > <result name="success" type="stream"> > <param name="inputName">random</param> > </result> > </action> > </package>{code} > If you send a request to "/test/uno/dos", this will trigger code in > ActionConfigMatcher (lines 95-103) that will construct the ResultConfig > objects to be used later on. At one point you are going to be making a call > to AbstractMatcher#replaceParameters with something that looks like the > following: > orig: > "inputName" -> "random" > vars: > "0" -> "uno/dos" > "paramOne" -> "uno" > "1" -> "uno" > "paramTwo" -> "dos" > "2" -> "dos" > The result of this will be a map that looks like: > "inputName" -> "random" > "paramOne" -> "uno" > "paramTwo" -> "dos" > The bug is that "paramOne" and "paramTwo" should not be in the return map. > For the most part this but won't cause any problems but it will cause some > performance problems in certain situations when trying to set these > parameters on the results objects that aren't expecting them. -- This message was sent by Atlassian Jira (v8.3.4#803005)