2013-07-12 47 views
2

会话我有一个问题,在会议中发挥。播放2.1 - 与SimpleResult(斯卡拉)

我有这种方法的控制器:

def index = Action { 
    implicit request => 
    Ok(html.index("Dashboard")).withSession(request.session.+ (Defines.SESSION_MENU, "1")) 
} 

我的问题是,为什么在页面的第一渲染我没有在会议上,我必须做的就是这种行为有什么新元素?

谢谢, 迭

+0

我经历了确切的情况,并使用'Redirect'而不是'Ok'解决了问题。试试这个:'重定向(routes.Application.index(“Dashboard”))。withSession(request.session。+(Defines.SESSION_MENU,“1”))'。这可能不是一个适当的解决方案,但它对我有用。 – serejja

+0

是不是一个递归调用? – diegoo

回答

1

.withSession添加元素(一个或多个),以会话cookie,其仅在标题发送。所以,当模板第一次呈现时,它们不在会话中。在进一步呈现时,它应该可以正常工作。

看起来你想在你的模板中使用会话。在这种情况下,最好的策略可能是显式传递你想使用的会话参数,包括新的参数。