Play Frameworkに挑戦(Java編 その2) ~構造を理解する~
前回の続き
前回はPlay Frameworkで作成された初期ページの確認までをした。
さて今回はイントロダクション動画の2:00~6:00あたりのソースの構造について確認してみよう。
Introduction to Play Framework for Java developers on Vimeo
ルーティング設定 (conf/routes)
routesファイルにはクライアントからのHTTPリクエストとそれを処理するControllerのメソッドが記述されている。
GET / controllers.Application.index()
書式は
HTTPメソッド | URI | 呼び出されるメソッド
コントローラー (controllers/Application.java)
public static Result index() { return ok(index.render("Your new application is ready.")); }
MVCモデルのコントローラー(C)にあたる部分。
コードの okメソッドは、play.mvc.Controllerクラスのスーパークラスであるplay.mvc.Resultsクラスのメソッドで、HTTPステータス 200 OK を返すようだ。
ビュー (views/index.scala.html , main.scala.html)
MVCモデルのビュー(V)にあたる部分。
「scala.html」という拡張子のファイルはPlay Frameworkのテンプレートファイルだそうだ。
index.scala.html
@(message: String) @main("Welcome to Play") { @play20.welcome(message, style = "Java") }
よくはわからないが、mainという別のビューを呼び出しているらしい。
main.scala.html
@(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.9.0.min.js")" type="text/javascript"></script> </head> <body> @content </body> </html>