我有一个控制器,我正在尝试根据 url 设置默认值 - 但将所有请求都发送到一个控制器。尝试扩展答案:URLMapping将所有请求定向到单个控制器/操作
我在URLMappings.groovy中做了这个
"/**"(controller:"lab", action:"index", params:[labName:action])
我希望我可以将原始操作名称添加到参数中,但这似乎没有任何作用。
有什么方法可以将所有发送到该控制器的请求映射到一个操作,并查看原始操作名称是什么?
操作名称是根据 url 映射而不是请求的 url 决定的。 使用单个操作时,将始终获取操作名称作为索引。根据您的要求,您可以选择以下一些选项:
- 使用请求的 url 和 http 方法查找正确的控制器和操作。 不推荐。
- 使用筛选器设置默认数据
- 在请求属性中保存原始控制器和操作后,使用 filter 重定向到默认控制器。不建议使用,因为它会导致多次重定向
- 使用默认控制器扩展控制器,并在拦截器中进行数据设置。