2.0 の Play テンプレートは単なる Scala 関数であるため、テンプレートの最初 (1 行目から) で params を宣言する必要があります。
@(one: String, two: String)
This is first param: @one <br/>
This is second param: @two
詳細については、テンプレートのドキュメントを確認してください
地図
逆に、同じ型の変数を大量に渡す必要がある場合は、次の方法Map
も適切な解決策になります。
public static Result index() {
Map<String, String> labels = new HashMap<String, String>();
labels.put("first", "First label");
labels.put("second", "Second label");
// etc etc
labels.put("hundredth", "Label no. 100");
return ok(template.render(labels));
}
template.scala.html
@(labels: Map[String, String])
@labels.get("first") <br/>
@labels.get("second") <br/>
.....
@labels.get("hundredth")
モデルを見る
最後に、さらにタイプセーフにするために、独自のview models
ようなものを作成できます (サンプル):
package models.view;
import java.util.Date;
public class MyViewModel {
public String pageTitle = "";
public Date currentDate = new Date();
public Integer counter = 0;
// etc...
}
コントローラ:
public static Result myActionUsingModel() {
MyViewModel data = new MyViewModel();
data.pageTitle = "Ellou' World!";
data.counter = 123;
return ok(myViewUsingModel.render(data));
}
見る:
@(data: models.view.MyViewModel)
<h1>@data.pageTitle</h1>
<div>Now is: @data.currentDate</div>
<div>The counter value is: @data.counter</div>