我用playframework2.2爲什麼我的會話值只會在刷新頁面後才顯示我還在playframework2中創建會話?
我在行動的一個寫會話:
def index = Action {implicit rs =>
var newsession
if(currentUser.isDefined){
val currentUser=SecureSocial.currentUser.get
newsession= rs.session + ("user" -> currentUser.fullName)
}else{
newsession=rs.session
}
Ok(views.html.list_subject("Hello from Scala", sublist.run(DB.createSession()))).withSession(newsession)
}
我list_subject頁我用另一個模板主:
@main(message) {
.....
}
在main.scala.html
我使用新的會話:
@(title: String)(content: Html)(implicit request: RequestHeader)
....
....
<ul class="nav navbar-nav navbar-right">
@if(request.session.get("user").isDefined){
....
}else {
<li><a href="@securesocial.controllers.routes.LoginPage.login()">Login</a></li>
}
</ul>
我發現新會話只在第二次,我的意思是當我已經登錄鏈接登錄不會改變,只有當我刷新它然後它改變。 我也通過螢火蟲檢查會議,只有在第二次會議將通過請求後才能找到。我想知道如何使會話第一次更改(不需要刷新頁面)。