Percent (%) symbol in query parameters is not being encoded 
------------------------------------------------------------

                 Key: TAP5-1449
                 URL: https://issues.apache.org/jira/browse/TAP5-1449
             Project: Tapestry 5
          Issue Type: Bug
          Components: tapestry-core
    Affects Versions: 5.1.0.5
            Reporter: Geoff Callender


Eg. In an event handler method I create a Link, add a query parameter to it 
called "thing" with value "%ab", then return the link. The resulting URL is 
something like this:

    http://localhost/myapp/mypage?thing=%ab

but it should be:

    http://localhost/myapp/mypage?thing=%25ab

In mypage, when we do this:

    value = request.getParameter("thing");

the value is null from the first URL, which is bad, and "%ab" from the second 
URL, which is good.

So Tapestry is correctly decoding "%25" to "%", but it is not encoding "%" to 
"%25".

For now, the workaround is to do this when adding the query parameter:

    link.addParameter("thing", value.replaceAll("%", "%25"));


-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to