flash - Grails 在重定向之间保留 Flash 消息

标签 flash grails

在 grails 中,如果我这样做:

def someAction() {
 //.......

 flash.message = "some message"
 [:]
}

然后在 someAction.gsp 中,它会显示 flash 消息。

但是如果是这样的话:

def someAction() {
 // ......
 flash.message = "some message"

 redirect uri: "${createLink(controller: 'someothercontroller', action: 'someotheraction')}"
}

那么在上面的例子中,在 someothereaction.gsp 中将没有 flash.message。

我的问题是如何将 flash.message 从 someAction 传递到 someotheraction(可能在其他 Controller 或同一 Controller 中)。

我知道我可以做类似 params.flash = flash.message 的事情,在其他操作中使用此 params.flash 分配给那里的 flash.message。然而,在这种方法中,我必须始终知道所有可能并不总是发生的重定向。

那么有没有更好的,也许是“标准”的方法来保留 flash 消息直到最后一次重定向(最终呈现 gsp)?

最佳答案

“有一个插件!”

不幸的是,这是一个旧的,但它仍然有效,或者您可以浏览源代码以获取灵感。正如另一个答案所建议的那样,它基于在 session 中保存消息。

One-Time Data plugin

关于flash - Grails 在重定向之间保留 Flash 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36937697/

相关文章:

grails - 对象未保存在Spock集成测试中

performance - println语句在生产中的作用?

grails - @Transactional不适用于所有 Controller Action

调用 flex-AS 函数时的 Javascript 错误

javascript - 如何检查 Flash 是否可以从 javascript 安装在浏览器中

apache-flex - actionscript flex,如何将浏览器宽度发送到 swf 本身

grails - grails我应该在哪里对src/java中的Java类进行测试?

javascript - 使用 Flash 获取 HTML 文本框值

javascript - 基本 Flash 问题 - 在电影结束时调用 javascript 函数

gradle - 如何更改Gradle 6的内部Groovy版本?