访问url映射中的变量,grails

访问url映射中的变量,grails,grails,url-mapping,Grails,Url Mapping,我试图访问url映射中定义的变量,以用于生成新的url 尝试了如下所示的内容: 但是在参数上获取空指针。 有没有办法在这个映射中获取someparam变量? 我使用的是Grails2.2.2版本 仅供参考:此映射的目的是将用户从旧URL重定向到新URL。这个具体问题在2.3中得到了解决,你到底想实现什么?因为在您发布的链接中,使用了动态控制器名称构造,在您的例子中,它是静态的。newURI闭包的作用是什么?我试图添加一些过时URL的向后兼容性,以重定向到较新的URL。newUri将是参数变量,我

我试图访问url映射中定义的变量,以用于生成新的url

尝试了如下所示的内容:

但是在参数上获取空指针。 有没有办法在这个映射中获取someparam变量? 我使用的是Grails2.2.2版本


仅供参考:此映射的目的是将用户从旧URL重定向到新URL。这个具体问题在2.3中得到了解决,你到底想实现什么?因为在您发布的链接中,使用了动态控制器名称构造,在您的例子中,它是静态的。newURI闭包的作用是什么?我试图添加一些过时URL的向后兼容性,以重定向到较新的URL。newUri将是参数变量,我们将把userHmm重定向到该变量,可能您在这里遗漏了一些东西。旧控制器url到新控制器的映射只需这样做:name oldUri:“/somecontroller”{controller=“newcontroller”},新控制器将接收请求中发送的所有参数..感谢Lukelazarovic的回复。实际上,这些url应该重定向到较新的。。如somedomain.com/mydata到somedomain.com/data/mydata。通过定义controller=“newcontroller”只会让grails知道调用哪个控制器和操作,但不会重定向。该具体问题在2.3中按照
name oldUri: "/somecontroller/$someparam"{
        controller = "newcontroller"
        action = "index"
        newURI = {
            "/data/" + params?.someparam
        }
    }