在Play Framework视图模板中包含纯HTML页面

时间:2014-01-01 22:16:40

标签: html playframework

有没有办法在Play Framework的视图模板中包含一个普通的html页面?我有一个场景,其中有一个共同的视图模板,在模板的正文中,我想包括某些静态html页面。我知道我可以在某个模板中包含其他模板,但我不确定是否可以包含一个普通的html页面?

2 个答案:

答案 0 :(得分:3)

一种选择是将静态HTML设为模板,例如,创建myStaticPage.scala.html

<h1>Static page</h1>
<p>This page is static, though it is still a template.</p>

然后是您的视图模板myView.scala.html:

@(staticPage: Html)

<html>
  <head>...</head>
  <body>@staticPage</body>
</html>

然后在呈现模板的操作中:

def renderMyStaticPage = Action {
  Ok(views.html.myView(views.html.myStaticPage())
}

您只需确保HTML页面使用@转义任何@@个符号。

另一方面,如果包含哪个HTML页面更具动态性,那么只需从文件/ database / classloader /中加载HTML,例如:

def renderMyStaticPage = Action {
  val staticPage: String = // code to load static page here
  Ok(views.html.myView(Html(staticPage))
}

答案 1 :(得分:1)

你可以。

在路线文件中添加类似的内容:

GET /file   controllers.Assets.at(path="/public", file="html/file.html")

以下是重复的帖子:Route to static file in Play! 2.0