2011-11-25 54 views
5

我想做那样的事情。PlayFramework的Scala模板中的动态参数

这里是主模板:

@(title: String)(content: Html) 
<!DOCTYPE html> 
<html> 
    <head> 
     <title>@title</title> 
     <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")"> 
     <link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")"> 
     <script src="@routes.Assets.at("javascripts/jquery-1.6.4.min.js")" type="text/javascript"></script> 
    </head> 
    <body> 
     @content 
    </body> 
</html> 

这里是另一个问题:

@(user: User) 

@main(title = "@user.email - SiteName") { 

    <b>@user.email (@user.role)</b> 

} 

后来不起作用,因为它在标题“@ user.email”失败参数。

我该怎么做? PS:我知道我可以通过另一种方式做到这一点(在主模板中添加“ - SiteName”),但这只是一个理解Scala如何工作的例子。

回答

6

你必须在连接字符串,只是因为它是正常的Scala代码(因为它):

@main(title = user.email + " - SiteName") { 
    <b>@user.email (@user.role)</b> 
} 

里面的一切@()如Scala代码进行处理。

+0

似乎很明显,现在你告诉我了:)谢谢。需要一些我认为的咖啡。 :) – Zofren

+0

是的,我已经有我了;) –