【发布时间】:2017-10-03 12:33:35
【问题描述】:
我正在使用 scala 2.11.8 和 Play Framework 2.3。我正在提交表单并通过控制器管理结果。控制器返回一个重定向到闪烁特定消息的页面,成功或错误消息:
Redirect(routes.MyController.page).flashing("success" -> "All went well")
然后我使用 javascript 管理此消息,因此可以在模式中看到它:
@flash.get("success").map { message =>
<script type="text/javascript">
modalSuccess('@message');
</script>
}
一切顺利,模态显示。接下来我导航到另一个页面并使用后退箭头返回并再次显示模式。当然,这对用户来说很奇怪:他刚刚点击返回,看到“一切顺利”消息毫无意义。
之前,我将这些消息作为参数传递给页面并返回 200 OK:
Ok(views.html.page(message = "All went well"))
但是由于再次发送了请求,所以发生了完全相同的事情。我切换到 Flash 来解决这个问题,但我似乎无法阻止它在返回上一页时显示。
我应该清除 Flash 范围,还是应该在重定向执行后自行清除?
【问题讨论】:
标签: scala playframework scope flash-message