我的网址看起来像/myController/myAction/id
。
如何隐藏该网址中的ID,如下所示:/myController/myAction/username
并且仍在控制器中接收id
答案 0 :(得分:0)
如果您实际上没有以任何其他方式发送Id并且只发送用户名并且可以通过用户名获取用户,并且仍然需要在控制器中拥有user.id。正如@AlCad在@Alidad给定链接中提到的那样:
"/myController/myAction/$username"(controller: "myController",action: "myAction")
然后添加过滤器:
class userFilters {
def filters = {
addId(controller: 'myController', action: 'myAction') {
before = {
if (params && params.username) {
def u = User.findByUsername(params.username)
params.id = u.id
}
}
}
}
}