Templates 会话数据在模板中呈现不正确
当用户进行身份验证时,我在会话中存储Templates 会话数据在模板中呈现不正确,templates,session,playframework,session-variables,Templates,Session,Playframework,Session Variables,当用户进行身份验证时,我在会话中存储user.displayName: session.put("udn", user.displayName); 模板使用以下方式渲染它: ${session.udn} 但奇怪的事情发生了: 以“Sam”登录,显示“Sam” 注销 以“Jim”登录,也显示“Sam” 重新开始播放 以“Jim”登录,显示“Jim” 注销 以“Sam”登录,也显示“Jim” 也就是说,它始终显示第一个登录用户的displayName 在会话结束后进行调试。放置: session
user.displayName
:
session.put("udn", user.displayName);
模板使用以下方式渲染它:
${session.udn}
但奇怪的事情发生了:
session.put("udn", user.displayName);
Logger.debug(“udn:\t”+session.get(“udn”)代码>
它可以正确打印:
- 以Sam身份登录,打印“udn:Sam”李>
- 以Jim身份登录,打印“udn:Jim”
此外,我还检查了cookie:
播放会话包含%00udn%3A
+正确值+%00
:
- 以Sam身份登录,播放会话包含
%00udn%3ASam%00
- 以Jim身份登录,播放会话包含
%00udn%3AJim%00
如何显示正确的值?(我的play应用程序取决于play 1.2.3和安全模块)您应该在模板中使用${session.get(“udn”)}
。session
变量只是的一个实例;这里没有允许类似${session.udn}
的语法的魔法。我不知道为什么会打印任何东西