2013-07-12 46 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,其僅在標題發送。所以,當模板第一次呈現時,它們不在會話中。在進一步呈現時,它應該可以正常工作。

看起來你想在你的模板中使用會話。在這種情況下,最好的策略可能是顯式傳遞你想使用的會話參數,包括新的參數。