Playframework 正在显示BasicCalTemplate.toString
我有一个基本模板,它遵循以下模式: 标题、页眉、页脚 这是我的基本模板(“main.scala.html”)。除了Playframework 正在显示BasicCalTemplate.toString,playframework,Playframework,我有一个基本模板,它遵循以下模式: 标题、页眉、页脚 这是我的基本模板(“main.scala.html”)。除了content:Html之外,所有参数都是可选的 @(title:String = "Untitled")(content: Html)(header: Html = null)(footer: Html = null) <!DOCTYPE html> <html lang="en"> <head> <meta ch
content:Html
之外,所有参数都是可选的
@(title:String = "Untitled")(content: Html)(header: Html = null)(footer: Html = null)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>@title</title>
</head>
@header
<body>
@content
</body>
(C) 2013
@footer
</html>
我使用控制器中索引函数的索引模板
def index = Action {
request => {
logRequest(request)
request.session.get("auth").map(
email => {
Ok(views.html.index(email))
}
) getOrElse {
Redirect(routes.Application.login)
}
}
}
问题是,当我尝试访问索引时,我得到以下结果:
BaseScalateTemplate(play.api.templates.HtmlFormat$@a335c3b)(“主页--
Nomad){您的电子邮件是test@example.com}{页眉}{页脚
}
也许解析器没有按照您期望的方式解释index.scala.html。试一试
@(email: String)
@main ("Home") {
Your email is @email.
} {
Header
} {
Footer
}
更新了一个不同的建议--以前没有注意到缺少的参数。@内容没有被使用,所以我从问题中删除了它。除此之外,至少如问题中所述,内容不是可选的。您没有提供默认的.facepalm!我刚刚意识到“你的电子邮件是”这一点是内容的论点!很抱歉您的示例应符合以下要求:
@(email: String)
@main ("Home") {
Your email is @email.
} {
Header
} {
Footer
}