所有4xx或5xx错误的Grails中的通用URLMapping

时间:2015-03-18 17:04:13

标签: grails http-response-codes urlmappings.groovy

我正在使用Grails 2.4.4,并希望为一系列HTTP错误代码定义一个通用的UrlMapping(如450-499,510-540)。

我发现了一些相关的问题 - 即使在SO - 但答案已过时或无效。

在错误映射上使用正则表达式后,容器无法启动。

例如,这个简单的例子将失败:

"$errorCode" {
     controller = "error"
     action = "general"
     constraints {
          errorCode(matches:/\d{3}/)
     }
}

有谁知道我如何处理这个问题?

1 个答案:

答案 0 :(得分:0)

我尝试使用过滤器执行相同的操作,但在检查httpResponse中的状态代码后我们无法再次重定向,因此这也无济于事。

根据grails-doc“映射到响应代码”

http://grails.github.io/grails-doc/3.1.x/guide/single.html#urlmappings

我们只能对它们进行硬编码并将其重定向到提到的控制器和操作。 因此,您需要提及所有http代码并单独处理所有这些代码。

感谢。