1

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>
}

問題は、フラッシュ スコープがビューに到達しないことです。画面に出力がありません。デバッグすると、フラッシュ マップが空であることがわかります。

フラッシュスコープを処理できる方法で myView を呼び出すにはどうすればよいですか?

4

3 に答える 3

1

私もこの問題に苦労しました。最後にまともな解決策を見つけました。

重要な点は、フラッシュがビューの暗黙的なパラメーターであることです。つまり、Flashingが結果とともに「パック」される Redirect によって取得される必要があります。

解決策: 新しい Flash オブジェクトをすぐに作成する

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

景色は相変わらず。

「 [2.0.2-scala] 点滅はリダイレクトのみを目的としていますか?」の議論に触発されました。

于 2014-11-06T00:31:08.783 に答える
0

点滅はリダイレクトでのみ機能すると思うので、リダイレクトを使用するか、成功情報を含むパラメーターをビューに直接渡します

于 2013-10-09T19:11:27.697 に答える