Grails可以处理URL中的编码斜杠吗?

时间:2011-05-03 13:26:15

标签: url grails encoding

我有一个Grails应用程序,我想在URL中放入一个包含轮胎尺寸信息的参数。轮胎尺寸信息如下:“225 / 60R18 104Y”。斜杠不是路径分隔符,幸运的是,Grails足够聪明,可以将其编码为/ foo / 225%2F60R18 + 104Y。但是,实际上调用此URL不起作用。我得到一个空白页,没有错误或任何东西。将%2F转换为斜杠会给我一个错误页面(预期),并将其留下来让我找到正确的控制器和操作,但是错误的大小信息。

那么这里的问题是什么?为什么Grails不能解决这个问题,有什么方法可以解决这个问题吗?

更新:看起来Apache和Tomcat都是罪魁祸首。 Apache可能会通过添加AllowEncodedSlashes NoDecode来表现,但现在我必须弄清楚如何让Tomcat接受它。

2 个答案:

答案 0 :(得分:1)

在URL Mapping中的参数之后添加**为我工作。 例如,将'/foo/$tire'更改为'/foo/$tire**'

答案 1 :(得分:-1)

假设您将轮胎尺寸读为params.id,则可以使用Grails编解码器:

def tireSize = params.id.decodeURL()

此致 Deluan