本連載の第14回、第15回で「Play Framework」(以下、Play)というJavaアプリケーション開発フレームワークを紹介しました。Playは、Ruby on Railsのように簡単なコマンドだけでMVCスタイルのWebアプリケーションの雛形を構築し、開発をスタートさせることができるフレームワークです。
Play 2.0の基本的な導入方法は、従来のPlay 1.xのときと同様です。ただし、Play 2.0ではPlayコンソールと呼ばれるSBTベースのインタラクティブなコンソールによってアプリケーションのライフサイクルを管理できます。このPlayコンソールを使うために、環境変数PATHにPlay 2.0をインストールしたフォルダ(C:\work\play-2.0\など)を追加しておくと作業が楽になります。
アプリケーションの作成は、1.xのときと同様に「play new アプリケーション名」というコマンドで行います。ただし、2.0ではコマンドの実行中に「アプリケーション名(タイトルやメッセージとして表示されるもの)」と「アプリケーションテンプレートの種類」次の2つの情報を入力する必要があります。アプリケーションテンプレートはJavaとScala、そしてどちらも使わない空のテンプレートの3つから選びます。本稿では、前回の記事で紹介した内容と比較したいので「Java」を選択しました。
C:\work\play-2.0\myapp> play
[info] Loading project definition from C:\work\play-2.0\myapp\project
[info] Set current project to My First Application (in build file:/C:/work/play-2.0/myapp/)
........
[My First Application] $
Play 2.0ではテンプレートエンジンがScalaベースのものに変更されているため、テンプレートの文法や使い方が大きく違っています。まず、controllers/Application.javaを見てみましょう。Applicationクラスがindex()メソッドを持っており、これがindex.htmlのレンダリングに相当することは1.xと同様ですが、戻り値がvoidではなくResultインスタンスとなっている点に注意が必要です。ここではindex.render()メソッドでWebページのレンダリングを行っています。
package controllers;
import play.*;
import play.mvc.*;
import views.html.*;
public class Application extends Controller {
public static Result index() {
return ok(index.render("Your new application is ready."));
}
}