2011-11-25 50 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

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