Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.1.11, 2.1.13
-
None
-
None
-
Urgent
-
Patch available
-
Cocoon Core
-
Cocoon Core
Description
When you pass multivalued parameters to org.apache.cocoon.transformation.IncludeTransformer, like:
<ci:parameter name="foo" value="bar"/>
<ci:parameter name="foo" value="baz"/>
only the last gets passed in the request made by IncludeTransformer. This is because parameters are stored in a Map.
HTTP specifies that multi-valued parameters are possible, or rather it does not forbid them. So the query-string "?foo=bar&foo=baz" is perfectly legal.
The patch changes the way IncludeTransformer handles this case, so that multi-valued parameters are handled correctly. The NetUtils.parameterize() method, used by IncludeTransformer, was already prepared for this.
<ci:parameter name="foo" value="bar"/>
<ci:parameter name="foo" value="baz"/>
only the last gets passed in the request made by IncludeTransformer. This is because parameters are stored in a Map.
HTTP specifies that multi-valued parameters are possible, or rather it does not forbid them. So the query-string "?foo=bar&foo=baz" is perfectly legal.
The patch changes the way IncludeTransformer handles this case, so that multi-valued parameters are handled correctly. The NetUtils.parameterize() method, used by IncludeTransformer, was already prepared for this.