如何将所有请求映射到控制器转到一个方法并访问原始参数

时间:2016-02-22 23:43:04

标签: grails grails-controller grails-config

我有一个控制器,我正在尝试根据网址设置默认值 - 但是所有请求都会转到一个控制器。 尝试扩展答案:URLMapping to direct all request to a single controller/action

我在URLMappings.groovy

中这样做了
"/**"(controller:"lab", action:"index", params:[labName:action])

我希望我可以将原始操作名称添加到参数中,但这似乎没有做任何事情。

任何方式我都可以将所有发送到该控制器的请求映射到一个操作,并查看原始操作名称是什么?

1 个答案:

答案 0 :(得分:2)

动作名称是根据网址映射而不是请求的网址决定的。当您使用单个操作时,您将始终将操作名称作为索引。根据您的要求,您可以选择以下一些选项:

  • 使用请求的url和http方法查找正确的控制器和操作。不建议。
  • 使用过滤器设置默认数据
  • 在请求属性中保存原始控制器和操作后,使用过滤器重定向到默认控制器。不建议使用,因为它会导致多次重定向
  • 使用默认控制器扩展控制器并在拦截器中执行数据设置。