【问题标题】:reading cookie value in play framewrok 2.2 scala template在播放框架2.2 scala模板中读取cookie值
【发布时间】:2014-05-03 12:27:29
【问题描述】:

我正在尝试读取播放框架模板中的 cookie 值(而不是在控制器中)。我正在尝试以下不起作用:

@ val cookieVal = request.cookies.get('PLAY_SESSION').value

任何解决此问题的建议将不胜感激。我尝试这样做的原因是更改基于 cookie 值呈现页面的方式。

【问题讨论】:

    标签: html scala templates playframework playframework-2.0


    【解决方案1】:

    在模板中定义vals 如下:

    @defining(request.cookies.get('PLAY_SESSION').value) { theValue =>
      <div>Hello @theValue</div>
    }
    

    我个人更喜欢读取控制器中的 cookie,并在需要时将它们传递给模板。

    【讨论】:

    • 将很快尝试并恢复 - 可能在两个方面(将值传递给模板而不是在模板中读取 cookie) - 谢谢
    • 只是出于好奇:request 在模板中默认没有定义,对吧?如果有,有没有准备好对应源代码的链接?
    【解决方案2】:

    假设 PLAY_SESSION 存储在 "37f0983881ba00636868b42234a360d466fb944c-block_status=0&amp;userId=159313257462171"
    并且您必须根据block_status 的值进行渲染。 那么在这种情况下,您可以通过

    session.get("block_status").get
    

    要在模板中使用它,您必须在模板中导入@implicit session:play.api.mvc.Session
    现在您可以通过@session.get("block_status").get轻松获取模板中的值

    【讨论】:

      【解决方案3】:
      request.cookies.get("Org").get.value
      

      【讨论】:

      • 请考虑添加一个简短的解释,以帮助用户理解您的答案。谢谢!
      猜你喜欢
      • 2013-09-22
      • 1970-01-01
      • 1970-01-01
      • 2013-05-10
      • 1970-01-01
      • 1970-01-01
      • 2019-02-07
      • 1970-01-01
      • 2014-07-23
      相关资源
      最近更新 更多