2013-06-04 70 views
0

我有一个看起来像/myController/myAction/id的URL。想在URL中隐藏id参数

我怎么能隐藏在URL中的ID,因此它看起来像:/myController/myAction/username 仍然在控制器

+0

看到这个帖子http://stackoverflow.com/questions/16838160/hide-id-param-in- url-in-grails-app – Alidad

+0

也看到我对这个问题的评论 –

+0

@JamesKleeh LOL – dmahapatro

回答

0

收到ID如果你实际上并没有以任何其他方式发送身份证只发送用户名,可以通过获取用户用户名,仍然需要在控制器中有user.id。正如@ Mr.Cat在给定链路由@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 
       } 
      } 
     } 
    } 
}