Play 2.0 中文资料--翻译附注解(持续更新中)

类别: PlayFramework. 标签: . 阅读(1,871). 评论(0) »

Play 2.0 中文资料 - 应用程序全局对象

应用全局设置

全局对象

在你的项目中定义一个 Global 对象,它为你处理应用的全局设置. 这个对象必须定义在默认包中(即不带 package 声明的包).

import play.api._

object Global extends GlobalSettings {

}

小贴士: 你也可使用 application.global key 值在在配置中指定自己的 GlobalSettings 实现类名称.

Unmi 注: GlobalSettings.scala 放在 app 目录比较合适,Scala 的 package 层次与目录并不存在严格的对应关系。

要说呢,不带 package 声明的写法确实不是什么好习惯,因为其他带 package 声明的类无法使用它。见:为何Java的有包名的类不能引用默认包中的类。这就对了,本来这个全局对象就不是给别的类用的 - Don't call me, I'll call you。

勾住应用启动和停止事件

你可以覆盖方法 onStartonStop,它们会在应用的生命周期启动,停止时得到通知: 阅读全文 >>

类别: PlayFramework, Scala. 标签: , , , . 阅读(494). 评论(0) »

Play 2.0 中文资料 - Play JSON 库使用泛型

概述

当使用基于 JSON 库的 typeclass(Unmi: typeclass 还没摸准翻译成什么词较合适,此前译作 类型类,觉得有点不妥,所以暂时保留原样) 时,可能会把泛型支持包含进这些 typeclass 中来. 针对基于终端控制查询参数,使用基本的结构作为查询结果的 REST API 来说可能是一个很好的应用方式.

Scala 对泛型的支持

给定如下基本的结构作为搜索结果:

case class SearchResults[T](
    elements: List[T], 
    page: Int, 
    pageSize: Int, 
    total :Int
)

Unmi 注: 上面  case class 涉及到了 Scala 的样本类的特性,Scala 会给这个类自动添加一些句法:1)添加与类名一致的工厂方法,2)参数列表中的所有参数前隐式获得了 val 前缀,即会由相应的的实例变量保持状态,3)自动添加了 toString, hashCode, 和  equals 方法。 阅读全文 >>

类别: PlayFramework, Scala. 标签: , , . 阅读(352). 评论(0) »