scala – 默认情况下,模板中隐藏的对象是哪些?
发布时间:2020-12-16 09:11:19 所属栏目:安全 来源:网络整理
导读:我正在为Play Framework 2.0创建一个插件(截至2011年12月10日为止,Github的最新代码).插件必须在视图中呈现一些数据.为避免强制用户修改所有模板,我创建了一个标签,用于检索和呈现相关数据. 为了避免数据沿着用户的标识符存储的并发问题.此标识符仅在请求(会
我正在为Play Framework 2.0创建一个插件(截至2011年12月10日为止,Github的最新代码).插件必须在视图中呈现一些数据.为避免强制用户修改所有模板,我创建了一个标签,用于检索和呈现相关数据.
为了避免数据沿着用户的标识符存储的并发问题.此标识符仅在请求(会话ID,请求本身等)中才需要有效,在请求结束后,信息将被丢弃. 问题是,Scala模板中的Request,RequestHeader和Session都不可用作隐含值.那么模板中可以使用哪些隐式值呢? 如果没有可以使用的,您是否有任何建议,如何获取可以从模板和控制器访问的值(不需要用户修改控制器或模板),并且可以在per-要求依据 解决方法
是的,我也是一个问题
实际上,它们可能有一个隐含的,但仍然需要将它添加到参数列表中,并将所需对象声明为隐含在Action中. 这是我做的: 模板 // **FIRST** add the needed implicit parameter to the template (the whole template will be created as a function will the related parameters,incl. curryed parameters list are handled) @(stuff:models.MyStuff)(implicit request: play.api.mvc.Request[Any]) @import helper._ @main("Home"){ } 调节器 object Main extends Controller { def index = Action { // **SECONDLY** declare the request as implicit. implicit request => Ok(views.html.index(MyStuff())) } } 更多? 由于一个单一的隐式参数是有效的,您可以将所需对象封装在专用的结构中,并将其声明为隐式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |