twirl是play默认的模板引擎,用Scala编写。模板会被编译成Scala函数, 如果你创建了一个模板文件 views/Application/index.scala.html,它会生成一个类views.html.Application.index并且这个类有一个 apply() 方法.
模板就像一个函数,所以它可以传参数,参数必须定义在模板文件的最上方。
@(title: String)(content: Html)
可以定义重用的代码块
@link(newPage: Int, newOrderBy: Option[Int] = None) = @{
routes.Application.list(newPage, newOrderBy.map { orderBy =>
if(orderBy == scala.math.abs(currentOrderBy)) -currentOrderBy else orderBy
}.getOrElse(currentOrderBy), currentFilter)
}
可以在模版中引用其他模板
@navbar()
https://www.playframework.com/documentation/2.4.x/ScalaTemplates