2015-04-16 120 views
2

我對使用Play框架和Scala非常陌生。從Java模板訪問Flash

我的應用程序是用Java中的Play Framework 2.3編寫的,我在我的控制器中設置了Flash。但是,當我重定向到我的視圖時,Flash始終不可用。

就在我重定向之前,我已經記錄了Flash是否已設置,並且此記錄爲true。

public static Result upload() { 
    flash("error", "test flash"); 
    System.out.println("flash " + flash().containsKey("error")); 
    return redirect(routes.Application.upload()); 
} 
在我的模板

<p>flash: @flash.get("error")</p> 

回答

1

看到閃光範圍https://www.playframework.com/documentation/2.3.x/JavaSessionFlash

數據的保存時間爲只有一個請求。 我猜你要讀取數據,並把它的閃光一次:

String error = flash("error"); 
flash("error", error); 
return redirect(routes.Application.upload()); 
+0

但我設置的重定向前右閃,那只有一個要求? – serenskye

+0

你的代碼讀取閃存數據,不寫它。 我認爲Flash範圍的目標是在重定向之前寫入一些數據。 –

+0

我沒有包括設置閃存的代碼,只是驗證它已被設置的日誌 – serenskye