Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
When building PageParameters, it is possible to repeat
the same parameter name to build a string array, this
is documented here:
However when issuing setResponsePage(MyPage.class,
params) the newly constructed URL does not honour the
string array parameter, only the first value is used.
Example:
PageParameters params = new PageParameters();
params.add("a", "1");
params.add("a", "2");
This builds a parameter that is a String[] with name
"a" and values: ["1", "2"]. But the URL shown in the
browser is: http://server/app?a=1 instead of
http://server/app?a=1&a=2
Note that in the target page I'm using
params.getStringArray("a") to get the string array.
Please find attached a patch against branch wicket-1.x
that adresses the URL encoding issue. The patch also
refactors the URL encoding logic to have a more readable
and compact code.
Thanks in advance!
Attachments
Attachments
Issue Links
- relates to
-
WICKET-550 Use WebRequestEncoder everywhere a query string is constructed
- Resolved
-
WICKET-539 QueryStringUrlCodingStrategy does not handle multi-valued parameters
- Closed