我可以调用播放框架模板/视图会议(Can I call session in template/vi

2019-07-29 18:10发布

我是新的使用播放框架2.0(我用的Scala),并有一个关于会议的问题。

我来自一个Ruby on Rails的背景,所以我倾向于认为我在玩学习框架相对于Ruby on Rails的一切。

考虑到这一点,有没有办法对我来说,调用存储在会话,而我在视图中的东西?

如果我有“你好” - >“世界”存储在会议上,我希望能够像做@ session.get(“你好”),并可以在视图中使用“世界”。 这可能吗?

另一种选择我看到的是该值存储在控制器中的变量,并通过沿到视图通过执行类似OK(VAR),但这种方式似乎有点笨重,特别是如果我开始使用更多的变数。

谢谢!

Answer 1:

会议在Play商店中的cookies和实际上只是跨请求数据。 如果这是你想要的,那么你可以使用@session.get("hello")但你实际上可能之后是通过从控制器到模板的东西,而不必指定它们作为参数的方法。 在这种情况下,看到了非常详细的回答这个问题在这里: https://stackoverflow.com/a/9632085/77409



Answer 2:

是的,你可以使用@session.get("hello")的模板,但是它看起来,你需要在使用Scala的控制器模板时,模板的开头要指定一个名为“会话”至少隐含参数:

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

也有flash范围-它不同于session ,它一生只为一个请求,不签名。 因此,它是最常用的只是运输错误/ INF消息。

见会话和闪光范围DOC

最后为每个模板仅仅是一个Scala的功能,您也可以拨打您的控制器一些行动和检索会话数据



Answer 3:

您可以拨打definetly ur会议发挥的模板。

试试这个代码 - 它在访问量:

$session.session_variable_name;


文章来源: Can I call session in template/view on Play Framework