2013-04-13 44 views
2

在我的項目中使用Play 2.0.x框架我有很多模板。許多這些模板採用StringLang參數在頁面上以某種語言顯示用戶名和文本。靜態方法與Play框架中的模板參數

由於這些在幾乎所有的模板使用,我應該:

  1. 傳遞用戶名和語言作爲參數傳遞給模板?
  2. 在我的模型中使用靜態方法來獲取用戶名/語言?
  3. 實施例1

控制器:

return ok(views.html.template.render(User.username(), User.language()); 

調用模板:

實施例的2
@(lang: Lang)(username : String) 
<p>@Messages.get(lang, "hello") username!</p> 

控制器:

return ok(views.html.template.render()); 

調用模板:

<p>@Messages.get(User.language(), "hello") User.username()!</p> 

我想知道哪種方法更好呢,如果有使用一個在另一個之上的任何缺點。

回答

2

實際上,您完全理解使用方法,我只能使用靜態方法進行建議,正如您所見,@Messages類可以實現此功能,否則您需要每次都通過它們。

提示,爲避免多餘的DB查詢,特別是在獲取登錄用戶的對象時考慮使用緩存API(每個用戶一個條目)。