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