我正在尝试映射以下内容
//本地主机:8080 /用户/注册/&安培;调试= 1
...
//本地主机:8080 /用户/&安培;调试= 1
如果出现字符串'& debug = 1',则执行some-controller的操作。
答案 0 :(得分:2)
您可以在需要时使用filter进行重定向。
class DebugFilters {
def filters = {
debugCheck(controller: '*', action: '*') {
before = {
if (params.debug == '1') {
redirect(controller: 'some', action: 'debug')
return false
}
}
}
}
}
如果您只想在特定网址映射的控制器和操作之间切换,那么您也可以使用如下的网址映射,而不是完全使用过滤器:
//UrlMappings.groovy
"/user/login" {
controller = { params.debug == '1' ? 'some' : 'user' }
action = { params.debug == '1' ? 'debug': 'index' }
// Note the use of a closure in ternary operations
// params is available in a closure (delegated)
// because it is not available in by default
}
答案 1 :(得分:1)
你可以使用像这样的URLMapping
"/**&debug=1"(controller:"defaultDebug"){
action = [GET: "show"]
}
通过使用双通配符,您可以捕获以&debug=1