[ 
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)

Reply via email to