views:

54

answers:

1

Let's say I have the following entry in my grails URLMappings.groovy:

"/actionName/param1"(controller:'myController', action:'myAction')

When I call an URL where param1 includes + as a special character, the URL is encoded correctly to /actionName/my%2Bparam for example, both in my local and in my server environment.

In my local environment - also using "prod" as the environment parameter - this is correctly resolved to my+param in the controller. However in my "real" production environment (Amazon Web Service EC2 instance), the URL is resolved to "my param" which is wrong.

I have no idea what the reason for this could be. Both environments use TomCat, and as stated above I'm even using the prod environment settings in my local environment so it can't be a differing configuration between development and production.

Does anybody have an idea where I could dig deeper to identify the problem?

A: 

That's a known bug that has been introduced in Groovy 1.3.4 or few build versions before. It has been fixed in current version 1.3.5.

this is correctly resolved to my+param in the controller

No, the expected resolution is "my param" (with a space).
As that works at the Amazon host, you'd upgrade Grails to 1.3.5, locally.

robbbert
Sorry, but that's not it. The expected resolution is "my+param" because the URL code is %2B (not %20 or +). And I'm using 1.3.5 which is also deployed on the server. So locally it's resolved correctly, and it's wrong on Amazon.
werner5471