Play Framework 2.4在Scala模板中使用注入变量
发布时间:2020-12-16 09:03:54 所属栏目:安全 来源:网络整理
导读:我想在我的网页的菜单栏中显示数据库中的一些数据.为了获取数据,我有一个数据访问对象(DAO),通常使用Guice注入创建. 如何在Scala模板中使用这样的(注入的)对象? 我可以将它作为参数传递给模板,但我必须在每个页面上执行此操作(因为它应该显示在菜单栏中).我
我想在我的网页的菜单栏中显示数据库中的一些数据.为了获取数据,我有一个数据访问对象(DAO),通常使用Guice注入创建.
如何在Scala模板中使用这样的(注入的)对象? 我可以将它作为参数传递给模板,但我必须在每个页面上执行此操作(因为它应该显示在菜单栏中).我正在寻找另一种解决方案,我无需在任何地方传递它.目前我正在模板中创建一个新对象,无论何时渲染(这使我获得更清晰的代码,但性能更差). 解决方法
你可以在不费吹灰之力的情况下对此进行伪造.
首先,创建一个Scala对象,提供对DAO的访问(这可以包含任意数量的内容,只需重复顶级对象和Implicits对象中的模式). package com.example.stuff object ViewAccessPoint { private[stuff] val myDaoCache = Application.instanceCache[MyDao] object Implicits { implicit def myDao(implicit application: Application): MyDao = myDaoCache(application) } } 在您的视图中,您可以将Implicits对象导入模板并获取Guice创建的DAO. @import com.example.stuff.ViewAccessPoint.Implicits._ @import play.api.Play.current myDao.whatever() 这适用于Java和Scala项目. 你可以在这里看到这个: > Access point 另外,我会考虑您是否真的想在模板层中进行数据访问. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 如何从JAR使用Bash读取MANIFEST.MF文件
- wsimport报错Use of SOAP Encoding is not suppo
- Angular 4.x NgClass ngStyle 指令用法
- 如何在Angularjs控制器中使用初始谷歌地图
- 直接连接(DAS)存储、网络连接(NAS)存储和存储
- 一个简单的WebSerivce传递图片的例子(转贴)
- scala – GenericRowWithSchema异常,将DataBuffe
- linux BASH shell下设置字体及背景颜色
- angularjs – Angular UI Bootstrap Datepicker
- shell – 使用cat从标准输入读取数据并将其写入文
热点阅读