Grails 重定向操作索引

标签 grails redirect indexing

所以我让这个 Controller 带有一个重置(删除一些数据)、索引和其他方法,所以在重置方法结束时我有一个重定向到索引方法。
和有什么区别:

redirect(action: "index", id: params.id)

redirect(action: index, id: params.id)

第一个完美运行,在 index 方法中重定向我,但第二个在不同的方法上重定向我。(getEndMonthsList 这是 Controller 中的最后一个方法)

最佳答案

您展示的两个变体在 Grails 2 之前是有效的,因为只有闭包可以用来定义 Action 。所以你可以重定向到'index'或index因为您使用第二种方法引用了闭包属性,而 Grails 将根据其名称构建完整的 URL。它稍微慢一些,所以使用 String 方法总是更好。

在 2.0 中,事情发生了变化,允许将方法用作操作,并且是首选方法。因此,如果您有 index方法,它不再是类中的公共(public)字段,您可以像任何其他变量一样引用它,它是一种不能通过名称直接引用的方法。所以字符串方法是唯一有效的方法。

我尝试使用非字符串方法来重现此问题,但它并没有按照您描述的方式失败,当索引操作被定义为方法(如预期的那样)并在定义时工作正常时,它失败并出现缺少属性异常作为一个闭包(再次,正如预期的那样)。

关于Grails 重定向操作索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12704117/

相关文章:

.htaccess - htaccess 将一个文件重定向到另一个

sql - 为数据库中的所有表创建索引?

grails - Grails的后台进程插件

grails - 我如何强制使用GORM数据服务而不是GormEntityApi

grails - 带有 grails 插件和 ProxyAwareMixedGrailsControllerHelper 的 Vaadin7

android - 如何为 PC 和 Android 应用程序之间的 USB 通信激活 UDP 转发

grails - 命令行选项-Dgrails.env = customEnv何时生效

javascript - 反转一个js条件

MongoDB 警告查询未使用索引

mysql - 全文和复合索引以及它们如何影响查询