代码之家  ›  专栏  ›  技术社区  ›  HeDinges

在grails中,如何在所有url的

  •  0
  • HeDinges  · 技术社区  · 16 年前

    我想在我的url中添加一个附加参数,用例如下:

    当用户登录时,他们也会指定一个“公司”名称,从那时起,所有URL都应该映射到:

     /$company/$controller/$action/$id
    

    其主要思想是让当前公司名称在所有url中都可用,使其可书签化,并且不必将公司名称作为请求参数传递到任何地方。

    此外,一旦用户登录,就可以在会话范围内使用所选公司名称。

    在我们所有的url中插入这个参数的正确方法是什么?我试图修改urlmappings映射,但没有找到插入公司名称的方法。

    谢谢,

    1 回复  |  直到 16 年前
        1
  •  2
  •   mojones    16 年前

    我认为您需要的是一个沿着

    name companyMapping: "/$company/$controller/$action/$id" {
            }
    

    在您的gsp中,请在所有链接标记中引用您的命名映射:

     <g:link mapping="companyMapping" controller="abcd" action="xyz" params="[company:userCompany]"> my link text </g:link>
    

    当用户最初登录时,必须在会话中存储usercompany。

    推荐文章