博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Play Framework 模板里使用注入访问数据层
阅读量:7067 次
发布时间:2019-06-28

本文共 813 字,大约阅读时间需要 2 分钟。

  hot3.png

从Play2.4开始,推荐使用依赖注入替代静态控制器。因此我们不能像play2.3那样,在模板里直接调用object访问数据层。是的,我们还是可以使用常规方式,通过传参到模板里。不过这样很多时候不方便,比如当参数很多得时候,写起来麻烦,写出来的代码也很不好看。所以我就想在模板里直接访问数据层。

其实实现起来也很简单,定义数据层那就不说了。创建 MessageServices 调用数据层:

class MessageServices @Inject()(messages: Messages) {    def retrieve(id:Long) = Await.result(messages.retrieve(id),Duration.Inf)}

创建ViewAccessPoint 方便模板调用:

object ViewAccessPoint {    private val myDaoCache = Application.instanceCache[MessageServices]    object Implicits {        implicit def myDao(implicit application: Application): MessageServices = myDaoCache(application)    }}

html模板:

@import services.ViewAccessPoint.Implicits._@import play.api.Play.current@(id:Long)  
Title

@defining(myDao.retrieve(id)){ mood => @mood.get.content }

源码:

转载于:https://my.oschina.net/xjpz/blog/700510

你可能感兴趣的文章
Java集合遍历引发的"血案"
查看>>
Webpack入门教程六
查看>>
编译原理:正规式转变成DFA算法
查看>>
MongoDB数据库的MapReduce简单操作(转)
查看>>
cisco图标
查看>>
java获取类的信息
查看>>
Hibernate5-进阶添加工具类,对获取Session的方法封装
查看>>
通过内存映射文件来颠倒文本内容(暂没有处理Unicode和换行符)
查看>>
Debian软件包信息查询
查看>>
天猫物流提速背后:大数据加速颠覆传统零售业
查看>>
网页优化十大策略
查看>>
为每一个table单元格设置不同的背景颜色
查看>>
盘点智能硬件中那些脑洞大开的黑科技
查看>>
[HDFS Manual] CH4 HDFS High Availability Using the Quorum Journal Manager
查看>>
maven pom.xml详解
查看>>
活动目录数据库文件介绍
查看>>
Linux下配置tomcat+apr+native应对高并发
查看>>
html5播放mp4视频代码
查看>>
孟子>正文 活动目录(Active Directory)域故障解决实例(转载)
查看>>
NoSuchMethodError: org.hibernate.SessionFactory.openSession
查看>>