2012-02-16 29 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"))