MixedParamUrlCodingStrategy fails when using a %2F in the URL
-------------------------------------------------------------
Key: WICKET-2125
URL: https://issues.apache.org/jira/browse/WICKET-2125
Project: Wicket
Issue Type: Bug
Components: wicket
Affects Versions: 1.4-RC2
Environment: Ubuntu 8.10, tomcat6
Reporter: Rodrigo Benenson
Priority: Critical
Symptom: when clicking on a link created by Wicket the page appears blank. No
exception, no error page, only blank.
Identified cause:
I'm using
mount(new MixedParamUrlCodingStrategy("my_page", MyPage.class, new
String[]{"key"} ) );
and creating the URL using
PageParameters page_parameters = new PageParameters();
page_parameters.add("key", key);
final String the_link_url = RequestUtils.toAbsolutePath(urlFor(MyPage.class,
page_parameters).toString());
add(new ExternalLink("the_link", the_link_url));
in some cases the key string can contain a "/" character. This is not a problem
since Wicket take cares of encoding the url correctly.
For instance, if
final String key="ab/c";
then the generated link will be
http://my_server/my_page/ab%2Fc
but this page will not render as expected. MixedParamUrlCodingStrategy is
bugged.
Other values for the encoded key string work fine:
http://my_server/my_page/abc
http://my_server/my_page/ab%2Ec
all work fine.
%2F seems to be the cause of the symptom.
Workaround:
Use QueryStringUrlCodingStrategy instead
mount(new QueryStringUrlCodingStrategy("my_page", MyPage.class ) );
will generate
http://my_server/my_page?key=ab%2Fc
which works fine, as expected
Patch:
MixedParamUrlCodingStrategy needs to be fixed.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.