今天我們來介紹第一個 Grails 專案。我使用 IntelliJ Ultima 進行展示:
進入 IntelliJ後,選擇 Create New Project,畫面跳轉如下:
如果你的 Grails Libarary (右上方)是空的,你得先點擊「Create」去選擇 Grails 的目錄,我假設你的 Grails 是安裝在 C:\grails-2.5.1。另外,也別忘記選擇你的 Java SDK 目錄。然後繼續按下 「Next」,畫面跳轉如下:
輸入專案名稱。在 IntelliJ叫做模組名稱 (Module name),然後按下「Finish」,畫面跳轉如下:
在畫面中,選擇左邊的「Run 'create-app'」,畫面跳轉如下:
在這畫面,等到我們的 hello 專案建立完成後(就是當你看到最後一行「Create Grails Application .....」),照理,在左邊的 tab 區(現在你看到的 Project, Structure的那個區域),應該還會多一個 「Grails View」 TAB,但是你會發現沒出現。這似乎是 IntelliJ 跟 Grails 2.5.x 版的搭配有點小問題(跟 Grails 2.4.4 就沒問題),但是這並不影響我們。我們只要將該專案關閉重新開啟就可以。操作方法是:
File --> Close Project,畫面會跳轉如下:
在本畫面中,重新選取(雙擊)左邊的 hello 專案,再次開啟他,畫面跳轉如下:
你看,「Grails View」救出現了。
在此,你將會發現,在 Grails的架構中,一定都是這樣安排的,包含目錄、順序。你想不這樣安排都不行,這叫做「約定優於設定」。Grails 還有許多地方也都是引用這樣的概念。可以開始執行我們的第一個專案了嗎?還不行,我們還要建立一個基本的 controller,操作方法如下:
右擊 Controller -->New -->Controller後,畫面跳轉如下:
在上圖中,輸入你的 controller名稱。這裡,我們僅輸入 hello, 待會兒,Grails 會自動幫我改成 HelloController (即便你輸入 helloController, Grails 也是產生 HelloController,這是約定作法),然後按下「OK」後,畫面跳轉如下:

上圖中,你會看到Grails 幫我們建立好三件事情:
- HelloController
- 目錄 Views底下的 hello 目錄
- 在 Test:unit底下的 HelloControllerSpec (這是稍候要做測試用的)
接下來我們要目錄 home 底下產生一個 index.gsp檔。在 \hello\Views\hello 目錄上點擊滑鼠右鍵,然後選 New --> GSP,畫面跳轉如下:
此時,你輸入 index (或是 index.gsp),最後 Grails 都會產生 index.gsp,畫面如下:
接下來你在右邊的 index.gsp 進行兩項動作:
- 在 <head>...</head>中增加:<meta name="layout" content="main"/>
- 在 <body>...</body>中增加: Hello, World,如下圖:
好了。基本的應用系統完成了。我們可以開始試著執行看看結果。我們在下面的畫面中點擊紅圈圈處(參考下圖)
接下來你會看到 IntelliJ下方的視窗出現 hello 專案開始運行的訊息:
這一開始的初始化需要一點時間,因為他出了需要載入 Spring、Hibernate以外,還要載入一些 Groovy、Grails,以及一些預設自動載入的插件。
載入完成後,正常的系統運行就跟一般 Java web 一樣快了。然後我們直接點擊 http://localhost:8080/hello,你的預設瀏覽器就會將該網址內容帶出,如下:
這圖的左半邊顯示出 Grails 預設載入了哪些插件,核心的部份不會顯示,像是 Spring, Groovy等核心的 package不會顯示,因為他們不是插件。接著,我們點擊 hello.HelloController,畫面跳轉如下:
如果你順利地走到這步,恭喜你有個好的開始。下一課我將繼續介紹 Grails 中神奇的 GORM