[ https://issues.apache.org/jira/browse/TAP5-1803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15375842#comment-15375842 ]
Thiago H. de Paula Figueiredo commented on TAP5-1803: ----------------------------------------------------- Hello, [~jkemnade] and [~kaosko]! To be honest, in hindsight, I'm not sure why {{URLEncoder}} is used over anything which goes into or comes from request parameters, making them not work as anyone would expect. Regarding handling of empty string vs null, I don't think Tapestry should do any encoding about it: if no query parameter with that name, field receives null; if query parameter with that name but no value, field receives whatever the contributed {{ValueEncoder}} is for its Java type. {{URLEncoder}} usage makes sense for activation contexts, and query parameters are most definitely *not* activation context. Cheers! > URL encoding in ActivationRequestParameter is very strict > --------------------------------------------------------- > > Key: TAP5-1803 > URL: https://issues.apache.org/jira/browse/TAP5-1803 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-core > Affects Versions: 5.3.1, 5.4 > Reporter: David Canteros > Labels: @ActivationRequestParameter, InvalidaArgumenteException, > URLEncoder, > > The URLEncoder that perform the URL encoding process does not include the > following "unreserved characters" : > ! ~ * ' ( ) > (see rfc2396 Uniform Resource Identifiers (URI): Generic Syntax, item 2.3) > > Because the fix of TAP5-1768, from v5.3.1 the @ActivationRequestParameter > requires this enconding, which becomes incompatible with the standard. > Thus, any URL which contains those symbols will throw an > InvalidaArgumenteException. Tapestry should consider that the > ActivationRequestParameter is a standar way of parameter sending, and the > parameters sent in this way probably not have the "strict" coding process of > the URLEncoder. -- This message was sent by Atlassian JIRA (v6.3.4#6332)