【问题标题】:How to assemble the html pages in Play! framework?如何在 Play 中组装 html 页面!框架?
【发布时间】:2016-04-16 15:36:26
【问题描述】:

我尝试将每一页分为页眉、正文和页脚。 在 html 文件中,我只需要在我需要导入的文件后面使用“@”来组装页面。但是,我想在 scala 方法中实现它:

class Page {
  private val header = new Header
  private val body = new Body
  private val footer = new Footer
  def getPage():Html = header.getHeader+body.getBody+footer.getFooter
}

众所周知,“+”是String类型的方法,而不是Html的方法。我将如何像“@”一样实现它?

【问题讨论】:

  • 在视图中执行此操作似乎更有意义。你有什么理由决定用代码来做吗?
  • 我需要这样做以保持良好状态。有什么方法可以将模板文件附加到另一个文件的末尾吗?

标签: html scala playframework


【解决方案1】:

我认为最好按照@tryx 提到的那样查看视图。

一个简单的例子:用这个内容制作 index.scala.html:

@()

@header
@body
@footer

使用您想要的任何内容创建 header.scala.html、body.scala.html、footer.scala.html。它们必须在您的游戏项目的“views”文件夹中。默认情况下,它应该包含示例视图,供您开始使用。在您的请求处理程序中使用此代码:

def index = { implicit request =>
  Ok(views.html.index)
}

或者,如果您想在代码中形成正文,您可以在 index.scala.html 中这样做:

@(content: Html)

@header
@content
@footer

并像这样使用它:

def index = { implicit request =>
  Ok(views.html.index(myBodyInHTMLString))
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多