session - 访问 Play 的正确方法! Scala 模板中的缓存?

标签 session scala playframework

我正在运行 Play!使用 Scala 模板的应用程序。但是,我找不到一种优雅的方法来在 html 模板内以优雅(或有效)的方式访问缓存。

我已经尝试过以下所有方法:

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

但运气不佳。感谢您提供正确的方法来执行此操作!

最佳答案

我发现该方法隐藏在旧的 0.9 Scala 文档中。就目前而言,这不是 super 容易,但 3 分钟就可以完成。它需要向 Controller 和模板添加一个参数,如下所示:

在 Controller 中,将 session 作为参数传递

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"))

关于session - 访问 Play 的正确方法! Scala 模板中的缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9306317/

相关文章:

python - 如何按列分组并在保留其他列的同时找到最大值?

java - 无法将测试配置注入(inject) Play! 2.6 Guice创建的应用程序

java - 有没有办法在不破坏反序列化过程的情况下忽略 JsonProcessingException

php - foreach($_SESSION AS $value){...} -> 获取 session 的数组键

javascript - php - 刷新页面后 session 丢失

php - jQuery Mobile 和 PHP 登录 session

scala-使用 "diverging implicit expansion"时出现令人困惑的 "sortBy"错误

scala - Play 2.0 : FakeApplication calling a stub controller instead real one

scala - 在 Play 2.4.3 的范围内有一个自定义的 QueryStringBindable

PHP - Session_Destroy 按后退按钮