このエントリは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側の渡す部分は整合取っておく必要があるのでご注意を。