如何在播放框架2中传递Flash内容

时间:2013-10-09 16:55:43

标签: playframework playframework-2.0

我试图将Flash内容传递给视图并且它没有显示出来。

Ok(  views.html.myView(parameter1,parameter2)  ).flashing("success" -> "hallo")

在模板中,我试着像这样使用它:

@(parameter1: String, parameter2: String)(implicit flash: Flash)

@flash.get("success").map { message =>
   <p class="success">
      @message
   </p>
}

问题是,闪存范围永远不会到达视图。我的屏幕上没有输出。当我调试它时,我看到flash地图是空的。

如何以可以处理闪存范围的方式调用myView?

3 个答案:

答案 0 :(得分:1)

我也在努力解决这个问题。终于找到了一个不错的解决方案。

关键点是 flash 是视图中的隐式参数。这意味着它需要由Redirect采用,其中 Flashing 是&#34;打包&#34;以及结果。

解决方案:立即创建新的Flash对象

Ok( views.html.myView(parameter1,parameter2) (Flash(Map("success" -> "hallo"))) )

观点保持不变。

受&#34; [2.0.2-scala] Is flashing only intended for redirects?&#34;的启发讨论

答案 1 :(得分:0)

我猜闪烁只适用于Redirect,所以使用Redirect或只是将带有成功信息的参数传递给视图

答案 2 :(得分:0)

如果响应是200,则没有理由闪烁。只需将地图传递给您的视图即可。 (您无法在重定向上传递地图,因此您有意在那里使用闪光灯。)