想要在grails中隐藏url的id参数

时间:2013-06-04 19:44:41

标签: grails grails-2.0 url-mapping

我的网址看起来像/myController/myAction/id

如何隐藏该网址中的ID,如下所示:/myController/myAction/username 并且仍在控制器中接收id

1 个答案:

答案 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
                }
            }
        }
    }
}