Hi,

we have the following problem with Tapestry 5:

In onActivate methods, the parameter array always seems to be decoded once too 
often. That means that correctly encoded parameters in URLs will result in 
broken parameters in the onActivate method. Only double-encoded URLs result 
in correct parameters.
For example, if we have the page "Search" and the following request URL:
http://localhost:8080/search/k%C3%BCche
then the first parameter of the onActivate method in Search will be "k?che". 
However, this has to be "küche" (with an umlaut). Only the following, double 
encoded request URL will lead to the correct result:
http://localhost:8080/search/k%25C3%25BCche

Btw, we use the UTF-8-patch described in 
http://wiki.apache.org/tapestry/Tapestry5Utf8Encoding.

I looked through the tapestry source code and found that the following 
location could be the problem:
In ComponentActionDispatcher, there is a method decodeContext, in which
every context parameter is URL-decoded. The context parameters are read from 
the String returned by request.getPath(). However, request.getPath() already 
seems to be the decoded version of the URL-path.

Does anyone have the same problem or an explanation for the double-decoding of 
the context parameters?

Regards,
Michael

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to