Grails > Hello World
更新日
2014-12-06
広告
GrailsでHello Worldを表示するところまで紹介します (Grails 2.x)。 (参考: インストール記事)
環境の準備
まず、Webアプリケーションの環境を準備します。これには、grailsコマンドを使います。Webアプリケーション環境を配置したいディレクトリに移動して、以下のようにします。
$ grails create-app myapp
'create-app'は、grailsコマンドのオプションです。 これで、Webアプリ環境を作成します。'myapp'は、Webアプリの名前です。今回は 'myapp' とします。
上記コマンドの実行が終わると、myapp ディレクトリが作成されているはずです。
$ cd myapp/ $ ls application.properties grails-app lib scripts src test web-app
このように、myappディレクトリの下に、Webアプリの環境が準備されます。
- grails-appディレクトリの下に、Webアプリ用のGroovyプログラムを作成します。
- libディレクトリの下に、必要に応じて、Webアプリで使用するライブラリを置きます(自動的にクラスパスは通してくれないので注意)。
- testディレクトリの下に、ユニットテスト用のプログラムを作成します。
- web-appディレクトリの下に、必要に応じて、Webアプリで使用するJavaScriptファイルやCSSファイルを置きます。ただし、Grails 2.4以降は別の場所に置きます(こちらの記事)。
コントローラの作成
次に、myappディレクトリにて、以下のコマンドを実行し、grailsモードに入ります。
$ grails grails>そして、コントローラ(MVCにおける'C')を作成します。
grails> create-controller hello : | Created file grails-app/controllers/myapp/HelloController.groovy | Created file grails-app/views/hello | Created file test/unit/myapp/HelloControllerTests.groovy'hello'というのは、作成するコントローラの名前です(別に、自分でファイルを作成しても問題ありません。grailsコマンドから作成すると、テスト用のテンプレートクラスまで自動的に作成してくれるから楽ということです)。 grailsモードに入らなくても、以下のようにすれば、同じことができます。
$ grails create-controller hello
この場合、grailsコマンドの実行のたびにJava VMを起動することになるため、その分時間がかかります。 メモリに余裕があるなら、grailsモードに入って作業するほうが速いでしょう。
create-controllerで作成されたファイルとディレクトリを説明します。
- HelloController.groovy : コントローラとなるクラスです。grails-app/controllersディレクトリ以下に作成されます。create-controllerコマンドを実行する際に、package名を指定しなかった場合、Webアプリ名(この場合はmyapp)がpackage名となります。
- views/hello : .gspファイルを配置するディレクトリ(Java Server Pagesにおける.jspファイルに相当)
- HelloControllerTests.groovy : HelloController.groovyに対するユニットテスト用のファイル
コントローラの実装
「ブラウザに Hello World を表示する」というプログラムを、HelloController.groovyに実装します。 作成されたばかりのHelloController.groovyは以下のようになっています。package myapp class HelloController { def index() { } }これを以下のように修正します。;
package myapp class HelloController { def index() { render "Hello World!" } }これで準備完了です。
Webアプリの起動
Webアプリを起動します。 Tomcatにおける startup.sh の実行と同等です。grails> run-app | Server running. Browse to http://localhost:8080/myapp | Application loaded in interactive mode. Type 'exit' to shutdown. | Enter a script name to run. Use TAB for completion:
ブラウザから、 http://localhost:8080/myapp にアクセスすると、myapp.HelloControllerへのリンクが表示されるはずです('localhost'の部分は、Grailsを動かしているサーバのIPアドレスを指定してください)。 リンクをクリックすると、Hello World! と表示されるはずです。
GrailsのURLは、 '/Webアプリ名/コントローラ名/アクション名' で、決まります。
- Webアプリ名 : create-app のときに指定したWebアプリ名(今回は'myapp')
- コントローラ名 : create-controller のときに指定したコントローラ名(今回は'hello')
- アクション名 : コントローラのメソッド名(今回は'index')
Webアプリの停止
最期に、Webアプリを停止します。grails> exit | Stopping Grails serverおつかれさまでした。
広告
お問い合わせは sweng.tips@gmail.com まで。