下面將開始一個簡單的GRAILS項目.同樣也演示了如何創建一個小應用的步驟.
創建Grails項目
一旦你安裝過Grails之后,你就可以使用內置的命令來創建新的項目了:
grails create-app
之后會提示您,讓您輸入項目名稱.
也可以直接在命令后輸入項目的名稱.
grails create-app puras_app
命令執行完之后,會生成一個以你輸入的項目名為名的目錄,里面則是自動生成的目錄結構和一些基礎代碼了,結構如下:
%PROJECT_HOME%
+ grails-app
+ conf ---> 本地配置文件,像是數據源
+ controllers ---> 這個文件夾里存有Controller類
+ domain ---> 這個文件夾里存有domain類
+ i18n ---> 國際化信息
+ services ---> location of services
+ taglib ---> 標簽庫
+ util ---> 工具庫
+ views ---> 視圖
+ layouts ---> 布局
+ hibernate ---> 可選擇的Hibernate的配置
+ lib
+ spring ---> 可選擇的Spring配置
+ src
+ groovy ---> 可選擇的,groovy源代碼
+ java ---> 可選擇的,java源代碼
+ war
+ WEB-INF
接下來,可以選擇配置一個數據源,在執行"create-app"時,grails就創建了幾個數據源在你的%PROJECT_HOME%/grails-app/conf目錄里,它們都是標準的環境:DevelopmentDataSource(開發數據源),TestDataSource(測試數據源),和ProductionDataSource(產品數據源).所有的例子都是操作在開發環境之下.
在執行應用的時候可以選擇所屬的環境(以后有介紹).
默認的,每個數據源都配置的是內嵌的HSQLDB數據庫(可以很方便的測試,但是現實的環境中大概沒什么用處),所以此步驟是可選的:
DevelopmentDataSource.groovy
class DevelopmentDataSource {
boolean pooling = true
String dbCreate = "create-drop" // one of 'create', 'create-drop','update'
String url = "jdbc:hsqldb:mem:testDB"
String driverClassName = "org.hsqldb.jdbcDriver"
String username = "sa"
String password = ""
}
配置這個數據庫,就是簡單的替換上所希望使用數據庫的值,再將其所用的驅動包拷貝到%PROJECT_HOME%/lib目錄下.
創建一個實體類
確認你現在所在的目錄是你的項目的主目錄,之后輸入以下命令
grails create-domain-class
之后命令會提示你輸入要創建的類名,你也可以直接在命令后直接輸入類名,如:
grails create-domain-class Book
向類里添加兩個屬性:
Book.groovy
class Book {
String title
String author
}
你可能想要創建一些測試數據.一個簡單的方法就是在%PROJECT_HOME%/grails-app/conf/ApplicationBootStrap.groovy這個Grails應用的啟動類的"init"閉包里創建并保存測試數據.
class ApplicationBootStrap {
def init = { servletContext ->
// Create some test data
new Book(author:"Stephen King",title:"The Shining").save()
new Book(author:"James Patterson",title:"Along Came a Spider").save()
}
def destroy = {
}
}
創建Controller
Controllers是Grails應用的中心,它們處理WEB請求和請求的URLs,將請求和請求參數映射到控制器類和它里面的一個閉包.
執行"grails generate-all"命令,并輸入控制器的名稱.在我們的例子中,我們在生成控制器類的時候輸入"Book",將會在%PROJECT_HOME%/grails-app/controllers下生成一個名叫BookController.groovy的文件.也可以直接在命令后直接加上控制器類的名稱.
grails generate-all Book
打開這個文件,并把里面的內容替換成下面所示的代碼,使用在你的程序運行的時候動態生成的動態腳手架.
class BookController {
def scaffold = Book
}
要注意你輸入的"Book"是大寫的B開頭.
當然,你同樣可以不替換而使用默認生成的代碼.它可是有學習的價值哦.
要開始你的Grails應用,執行下面的命令
grails run-app
這個命令將啟動一個Jetty應用服務器的一個實例運行在8080端口上.為了啟動一個運行在不同端口上,比如說9090,使用grails -Dserver.port=9090 run-app.要訪問books的例表,打開瀏覽器,并輸入:
http://localhost:8080/puras_app/book/list
簡單的小應用到此結束.參照它,舉一返三,做一些簡單的小應用還是可以的!
posted on 2008-04-01 00:02
周銳 閱讀(299)
評論(0) 編輯 收藏 所屬分類:
Groovy&Grails