Scala 模板导入可重用 block (Play2)

标签 scala playframework playframework-2.2 scala-template

我使用的是 Play 框架 2.2.4 和 Scala 模板。我已经创建了包含许多代码块的基本 Scala 模板,我想在多个 View 中使用它们。像这样的东西:

base.scala.html

@()

@display(product: Product) = {
  @product.name ($@product.price)
}

products.scala.html

...
   @display(product)
...

如何导入此类文件以使用 @display block ?

最佳答案

每个 View 片段都应该在它自己的文件中,并在那里声明它自己的参数。 Play 模板应该像单一功能一样工作,而不是很多。相反,创建一个名为 base 的目录,并将 View 片段分离到单独的文件中。

views/base/display.scala.html

@(product: Product)

@product.name ($@product.price)

views/products.scala.html

...
    @base.display(product)
...

关于Scala 模板导入可重用 block (Play2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25506655/

相关文章:

json - Play 框架,JSON 读取组合器,具有覆盖的 apply 方法

scala - 与 spark 共享变量

parsing - 基于层数的递归解析

.net - Scala 和 .NET - 运行良好吗?一些经验?事态

java - 如何使用 playframework/jpa 执行批量删除?

playframework - 迁移到 anorm2.4(带 play 2.4): ToStatement[T] and ToStatement[Option[T]]

ssl - 使用 HTTPS/SSL 启动 Typesafe Play Framework

json - 使用 Play Json 和 Salat 格式化可为空的 Seq 或对象列表

javascript - play框架和requirejs开发javascript代码

scala - 如何将 RX Observable 转换为 Play Enumerator