起源 Ruby on Rails開創了將一門強大的程式語言和一個堅持己見、提倡用約定的默認設定代替複雜配置的框架進行創造性結合的先河。然而,還有許多組織並沒有做好 從Java的安全保護傘下走出的準備,也沒有打算放棄他們在Java上的投入。而Grails的出現,使得在一個以Java為中心的環境中實現同等生 產力的想法成為可能。
特點 grails的外掛程式系統也是其亮點之一。首先,和rails,django等web框架類似,基於
微核心 的思想,
外掛程式 (可重用模組)是框架的一等公民。grails除了核心模組以外的功能幾乎都是通過外掛程式方式
實現 的。實際上,一個grails外掛程式和一個grails套用基本是完全一樣的,同樣可以使用grails run-app命令來運行。區別僅在於一個外掛程式的根目錄下需要提供一個fooplugin.groovy檔案,提供外掛程式的一些描述信息。
grails外掛程式基本可以做任何事情,grails社區已經提供了各式各樣的外掛程式,發布在grails官方外掛程式源上。查看現有的官方外掛程式,可以執行下面的命令:
grails list-plugins
安裝外掛程式可以執行以下命令:
grails install-plugin外掛程式名或外掛程式路徑
grails uninstall-plugin外掛程式名或者外掛程式路徑
原理 示例 一個被用爛了而又經典的例子,在創建應用程式之前,先熟悉一下grails命令的使用(確保grails環境已配置好)。
我們為了創建一個Grails套用,需要輸入的命令是create-app
grails create-app helloworld 這樣就在當前目錄下創建了一個名為helloworld(即我們的應用程式名)的資料夾,在這個資料夾中包含了我們這個項目的整個
檔案目錄 ,可以使用如下命令進入這個目錄中查看:
為了完成這個經典的Hello World示例,我們需要運行create-controller命令,您先進入CMD命令行並執行:
grails create-controller hello 運行該命令後會在grails-app/controller目錄下創建一個名為HelloController.groovy的控制器 控制器主要用來完成對Web請求的處理,我們稍微修改一下控制器的內容,使它能夠在頁面上輸出"Hello World!"的字樣,代碼如下:
class HelloController{def world={render "HelloWorld!" }} 控制器已經完成了,接下來要使用run-app來啟動內置的jetty伺服器運行剛剛創建的helloworld程式
運行後會在
8080連線埠 (默認,可以使用-Dserver.port來指定連線埠)啟動伺服器,然後在瀏覽器中輸入http://localhost:8080/helloworld來啟動應用程式.