Playframework 2 - 在闪烁的 mvc.Result 上添加 flash

Posted

技术标签:

【中文标题】Playframework 2 - 在闪烁的 mvc.Result 上添加 flash【英文标题】:Playframework 2 - Add flash on a flashed mvc.Result 【发布时间】:2015-09-24 15:32:06 【问题描述】:

有没有办法在已经设置的闪存范围内添加新数据而不擦除以前的数据集?

Redirect(routes.Application.home).flashing("success" -> "OK").flashing("but" -> "BUT")

结果与:

Redirect(routes.Application.home).flashing("but" -> "BUT")

我可以做flashing("success"->"OK", "but"->"BUT"),但我将最后刷新的数据添加到另一个对象中。在一次调用中刷新数据需要重写很多东西......

【问题讨论】:

能不能不把一个Map里的所有数据都收集起来,然后放到.flashing里? 是的,我可以,但恕我直言,闪烁应该与 withHeaders withSession withXXX 一样工作,并用作打桩功能 我最终这样做了:Redirect(routes.Application.home).flashing("success" -> "OK", butComputation(param))。 with à butComputation: Tuple2[String, String] 【参考方案1】:

大概是这样的:

Action  request =>
  Redirect(routes.Application.home).flashing(request.flash + ("but"->"BUT"))

【讨论】:

这只会在最后一个请求的flash中堆积一个新的flash数据。这不是我想要的,我想在当前请求中堆积闪存数据。【参考方案2】:

正如@ccheneson 建议的那样,我最终在Map 中收集了闪烁元素,然后使用Redirect(routes.Application.home).flashing(myFlashMap) 将这个闪烁元素添加到结果中

【讨论】:

以上是关于Playframework 2 - 在闪烁的 mvc.Result 上添加 flash的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JPA 在 playframework 1.2.4 中执行存储过程?

Playframework [1.2.7] 依赖失败

PlayFramework 2.4 和 IntelliJ 14

playframework 2.0,子项目和路线

Playframework 2,Websockets 和 Session

Playframework 2 - 在构建 dist 时避免聚合公共资产