このエントリはPlay frameworkひとりアドベントカレンダーの5日目です。
いよいよControllerに手を入れましょう。
テンプレはこんな感じになってます。
public static Result index() {
return ok(index.render("Your new application is ready."));
}
この ok(index.render("ほげ")) を分解してみてみましょう
ok→ HTTPレスポンスコード 200 でデータ返すよってことindex.render→/app/views/index.scala.htmlを使ってレンダリングするよってこと。フルで書くとviews.html.index.render- 引数 → viewに渡されます。受け取り側は
index.scala.htmlの1行目で定義されてる
ok?
ok があるので、当然他にもあります。 found , redirect , forbidden , notFound , badRequest , internalServerError , unauthorized あたりは使うかもしれません。
Playには変わり種かつ超便利な Result があります。それが TODO !
とりあえずメソッド定義したら return TODO; しておけば大丈夫!
views?
hoge.scala.html はplayがコンパイルしてクラスにしてくれます(コンパイルした出力先は /target/scala-2.9.1/classes_managed/ のもよう)。
Controller側でコンパイルエラー表示が出ることがありますが、一度 play compile してからEclipseでclean projectすれば解消しますのでお気になさらず。
引数?
実は、 index.scala.html の1行目はこんな感じ。ちなみにファイル名の通り、viewの文法はScala。Scala...
@(message: String)
このviewの引数受け取り部分と、Controller側の渡す部分は整合取っておく必要があるのでご注意を。