1

我有一个控制器,我试图根据 url 设置默认值 - 但所有请求都发送到一个控制器。试图扩展答案:URLMapping 将所有请求定向到单个控制器/动作

我在 URLMappings.groovy 中做到了这一点

"/**"(controller:"lab", action:"index", params:[labName:action])

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

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

4

1 回答 1

2

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

  • 使用请求的 url 和 http 方法找到正确的控制器和操作。不建议。
  • 使用过滤器设置默认数据
  • 在请求属性中保存原始控制器和操作后,使用过滤器重定向到默认控制器。不推荐,因为它会导致多次重定向
  • 使用默认控制器扩展您的控制器并在拦截器中进行数据设置。
于 2016-02-23T02:01:19.277 回答