Som*_*tik 6 templates template-engine scala playframework playframework-2.0
在playframework 1.x中,曾经有一些用于模板引擎的捆绑java扩展:http://www.playframework.org/documentation/1.2.3/javaextensions
我在playframework 2.0中寻找相同的功能.例如,我该怎么做?
colour${['red', 'green', 'blue'].pluralize()}
Run Code Online (Sandbox Code Playgroud)
我现在正在做这件事:
We have @colours.size colour@if(colours.size > 0){s}
Run Code Online (Sandbox Code Playgroud)
这必须是更清洁,更可重复使用的方式吗?
Jul*_*Foy 10
您可以利用pimp my lib Scala模式实现与Play 1.x Java扩展等效的功能.
例如,pluralize关于收集的方法可以如下实现:
// File app/views/pimps.scala
package views
package object pimps {
class PimpedTraversable[A](col: Traversable[A]) {
def pluralize = if (col.size == 1) "" else "s"
}
implicit def pimpTraversable[A](col: Traversable[A]) = new PimpedTraversable(col)
}
Run Code Online (Sandbox Code Playgroud)
然后您可以按如下方式使用它:
@import views.pimps._
We have @colours.size colour@colours.pluralize
Run Code Online (Sandbox Code Playgroud)