我用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>
我发现新会话只在第二次,我的意思是当我已经登录链接登录不会改变,只有当我刷新它然后它改变。 我也通过萤火虫检查会议,只有在第二次会议将通过请求后才能找到。我想知道如何使会话第一次更改(不需要刷新页面)。