// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Grails Webフレームワーク入門
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Grails Webフレームワーク入門 - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Grails Webフレームワーク入門

このドキュメントでは、NetBeans IDEのlink:http://www.grails.org[+Grails+]について説明します。Grailsサイトから引用します: 「Grailsの狙いは、「規約によるコーディング」のパラダイムをGroovyに取り入れることです。これは、Groovy言語を利用してJavaによるWeb開発を補完するオープン・ソースのWebアプリケーション・フレームワークです。Grailsは、構成の詳細がすべて隠されたスタンドアロンの開発環境として使用でき、Javaビジネス・ロジックを統合できます。Grailsが目指しているのは、開発作業を可能なかぎり簡素化することです。したがって、Javaコミュニティの開発者のみでなく、幅広い開発者にとって魅力があるはずです。」


image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます"]


*このチュートリアルに従うには、次のソフトウェアとリソースが必要です。*

|===
|ソフトウェアまたはリソース |必須バージョン 

|link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |バージョン7.2 Java以上 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Java Development Kit (JDK)+] |バージョン7 

|link:http://www.grails.org/Installation[+Grails+] |現在のバージョン 
|===

*注意:*

* JavaプラットフォームとしてJDK 7を使用する必要があります。Grailsは現在、JDK 8上では実行されません。
* IDEでGrailsアプリケーションを開発するには、Grailsプラグインをアクティブ化する必要があります。
* IDEの「オプション」ウィンドウを開き、「Groovy」タブの「その他」カテゴリでGrailsの場所を設定します。

Groovyを使用する場合は、Groovyの場所もここで設定します。

* 公式のlink:http://grails.org/Quick%20Start[+Grailsクイック・スタート+]をお読みください。このクイック・スタートで紹介しているシナリオをこの後の各項で再現します。


== アプリケーションの作成

この項では、「Grailsアプリケーション」プロジェクト・テンプレートを使用して新しいGrailsアプリケーションを作成することで、IDEから「grails create-app」コマンドを実行します。

1. ローカル・システムにGrailsをインストールし、適切に構成されていることを確認します。

コマンド・ラインからGrailsを実行することで、正しく機能していることを確認できます(コマンド・プロンプトで"grails"と入力します)。


[start=2]
. 「ファイル」>「新規プロジェクト」([Ctrl]-[Shift]-[N])を選択し、「Groovy」カテゴリから「Grailsアプリケーション」を選択します。「次」をクリックします。

[start=3]
. 「プロジェクト名」に「BookDemo」と入力し、「プロジェクトの場所」にアプリケーションを作成するフォルダを選択します。「終了」をクリックします。

「grails create-app」コマンドが実行され、「出力」ウィンドウに出力が表示されます。「プロジェクト」ウィンドウに次のように表示されます。

image::images/grails-65-4.png[]

フォルダを展開し、IDEによってGrailsスクリプト経由で作成されたソース構造を確認します。また、生成されたファイルを見ると、その多くにデフォルト値が入力されていることがわかります。


== ドメイン・クラスの作成

この項では、IDEを使用して「grails create-domain-class」スクリプトを実行します。

1. 「ドメイン・クラス」ノードを右クリックし、「新規」>「Grailsドメイン・クラス」を選択します。
2. ドメイン・クラスに「Book」と名前を付け、「終了」をクリックします。「ドメイン・クラス」ノードに「Book.groovy」というドメインが作成されます。
3. Bookクラスを開き、2つの文字列「title」と「author」と入力します。次のような表示になります。

image::images/grails-65-8.png[]

[start=4]
. 「構成」ノード内のBootstrap.groovyクラスの初期値をいくつか作成します。クラスに追加するコードを次に太字で示します。

[source,java]
----

class BootStrap {

     def init = { servletContext ->
         *new Book(author:"Stephen King",title:"The Shining").save()
         new Book(author:"James Patterson",title:"Along Came a Spider").save()*
     }
     
     def destroy = {
     }
     
}
----

*注意:*ソース・エディタの左マージンに警告が表示された場合は、 ``bookdemo.Book`` のインポートを追加します。


== コントローラの作成

この項では、「grails create-controller」スクリプトを使用して、ドメイン・クラスのコントローラを作成します。

1. 「コントローラ」ノードを右クリックし、「新規」>「Grailsコントローラ」を選択します。
2. 「クラス名」に「Book」と入力します。生成されるクラスの名前「BookController」が表示されます。

image::images/grails-65-11.png[]

「終了」をクリックします。コントローラが生成されます。


[start=3]
. 中括弧内に生成された1行をコメントにし、「def scaffold=Book」を追加します。次のような表示になります。 

image::images/grails-65-13.png[]


== アプリケーションの実行

単純なGrailsアプリケーションが完成しました。この項では、完成したアプリケーションをデプロイします。

1. アプリケーションを右クリックし、「実行」を選択します。「サービス」ウィンドウに表示されるように、アプリケーションはJettyにデプロイされます。 

image::images/grails-65-19.png[]

[start=2]
. URLが「出力」ウィンドウに出力されます。ブラウザが自動的に開かない場合は、このURLをブラウザに貼り付けると、アプリケーションが表示されます。「BookController」リンクをクリックすると、次のような画面が表示されます。 

image::images/grails-65-14.png[]

[start=3]
. 「New Book」をクリックし、新規エントリを作成します。 

image::images/grails-65-15.png[]

[start=4]
. 「Create」をクリックすると、エントリを編集または削除できるようになります。 

image::images/grails-65-17.png[]

[start=5]
. また、新規エントリがエントリのリストに反映されます。 

image::images/grails-65-18.png[]

link:/about/contact_form.html?to=3&subject=Feedback: NetBeans IDE 6.5 Grails Quick Start Guide[+このチュートリアルに関するご意見をお寄せください+]



== 関連項目

これで、NetBeans IDEでのGrails入門は終わりです。IDEを使用してGrailsフレームワークで基本的なアプリケーションを作成する方法を習得しました。

GrailsおよびGroovyテクノロジについては、link:https://netbeans.org/[+netbeans.org+]のlink:../java/groovy-quickstart.html[+Groovyの概要+]を参照してください。

