2012-02-16 54 views
2

我正在運行Play!使用Scala模板的應用程序。但是,我無法找到一個優雅的方法,以優雅(或有效)的方式在html模板中訪問Cache。訪問Play的正確方法!在Scala模板緩存?

我用盡了一切辦法,如:

<some html>@play.cache.Cache.get(play.session.getId() + "-account")</some html> 

,但沒有運氣。感謝適當的方式來做到這一點!

回答

2

我發現埋在舊的0.9 Scala文檔中的方法。目前它不是非常容易的,但它可以在3分鐘內完成。它需要添加一個參數到控制器和模板,像這樣:

在你的控制器,通過會話作爲參數

object Application extends Controller { 

    import views.Application._ 

    def index = { 
     html.index(session) 
    } 
} 

在模板的頂部,定義隱含變量:

@(implicit session:play.mvc.Scope.Session) 

在html模板裏面,像這樣訪問它:

@(play.cache.Cache.get(session.getId() + "-account"))