【问题标题】:How to redirect from a controller using a named URL mapping?如何使用命名 URL 映射从控制器重定向?
【发布时间】:2011-04-21 18:27:40
【问题描述】:

我有一个如下的 URL 映射:

static mappings = {
        name register: "/register" {
            controller = "account"
            action = "createuser"
        }
}

我想使用来自控制器的此映射进行重定向,例如:

redirect mapping:'register'

不幸的是,与createLink标签库不同,redirect似乎不接受mapping作为输入参数。

所以我的问题是:如何使用我的命名 URL 映射进行重定向?

【问题讨论】:

  • 很好奇为什么你需要通过映射 vs 重定向来做到这一点(controller:'account', action:'createUser')
  • 因为,如果我更改我的寄存器映射,我将不必更改代码,而只需更改 url 映射。此外,代码更具可读性

标签: grails grails-controller url-mapping


【解决方案1】:

您可以将两者结合起来:

redirect url: createLink(mapping: 'register')

【讨论】:

  • 如果应用程序名称(例如在 application.properties 中设置的 app.name)是 url 的一部分,那么您需要将参数 absolute: true 添加到 createLink 调用,以避免应用程序在结果重定向中出现两次(例如localhost:8080/myapp/myapp/register
猜你喜欢
  • 2011-07-14
  • 1970-01-01
  • 1970-01-01
  • 2016-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-05
  • 1970-01-01
相关资源
最近更新 更多