我的生产Grails应用程序中存在解码POST请求参数的问题。
只要参数仅包含ASCII字符,文本中的所有空格都会被解码为“+”号。因此, Controller 将获得' this + is + a + test '参数值,而不是''。
更重要的是,如果参数文本甚至包含单个非ASCII字符,例如,我们用西里尔字母'a'替换拉丁字母'a',,问题就解决了。
是的,在Intellij Idea IDE 11.x上的Windows 7开发计算机上运行应用程序时,或者作为部署到独立本地Tomcat 7.0.29中的 war 存档,一切都很好。
生产应用程序被部署为 war 存档,并在SSL连接器端口8443上具有对Ubuntu / Tomcat 7.0.21的所有依赖关系。该连接器配置了属性URIEncoding =“UTF-8”
Config.groovy中的设置是
所有gsp的head元素中都有元声明http-equiv =“Content-Type” content =“text / html; charset = UTF-8”。
应用程序插件为webxml:1.4.1,tomcat:$ grailsVersion,休眠:$ grailsVersion,spring-security-core:1.2.7.3,spring-security-openid:1.0.4
作为最后一次尝试,我尝试将Grails版本从2.2.0升级到最新的2.2.2,但是没有结果。
看来我的案子与这些其他人相反
有人可以帮忙吗?
谢谢。
最佳答案
通过将Tomcat版本从7.0.21升级到7.0.39,我终于解决了空间问题。没有应用程序文件已被修改。
关于grails - 如果参数文本为ASCII,则将Grails空间解码为加号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16296429/