下面將開始一個簡單的GRAILS項目.同樣也演示了如何創(chuàng)建一個小應(yīng)用的步驟.
創(chuàng)建Grails項目
一旦你安裝過Grails之后,你就可以使用內(nèi)置的命令來創(chuàng)建新的項目了:
grails create-app
之后會提示您,讓您輸入項目名稱.
也可以直接在命令后輸入項目的名稱.
grails create-app puras_app
命令執(zhí)行完之后,會生成一個以你輸入的項目名為名的目錄,里面則是自動生成的目錄結(jié)構(gòu)和一些基礎(chǔ)代碼了,結(jié)構(gòu)如下:
%PROJECT_HOME%
+ grails-app
+ conf ---> 本地配置文件,像是數(shù)據(jù)源
+ 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
接下來,可以選擇配置一個數(shù)據(jù)源,在執(zhí)行"create-app"時,grails就創(chuàng)建了幾個數(shù)據(jù)源在你的%PROJECT_HOME%/grails-app/conf目錄里,它們都是標準的環(huán)境:DevelopmentDataSource(開發(fā)數(shù)據(jù)源),TestDataSource(測試數(shù)據(jù)源),和ProductionDataSource(產(chǎn)品數(shù)據(jù)源).所有的例子都是操作在開發(fā)環(huán)境之下.
在執(zhí)行應(yīng)用的時候可以選擇所屬的環(huán)境(以后有介紹).
默認的,每個數(shù)據(jù)源都配置的是內(nèi)嵌的HSQLDB數(shù)據(jù)庫(可以很方便的測試,但是現(xiàn)實的環(huán)境中大概沒什么用處),所以此步驟是可選的:
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 = ""
}
配置這個數(shù)據(jù)庫,就是簡單的替換上所希望使用數(shù)據(jù)庫的值,再將其所用的驅(qū)動包拷貝到%PROJECT_HOME%/lib目錄下.
創(chuàng)建一個實體類
確認你現(xiàn)在所在的目錄是你的項目的主目錄,之后輸入以下命令
grails create-domain-class
之后命令會提示你輸入要創(chuàng)建的類名,你也可以直接在命令后直接輸入類名,如:
grails create-domain-class Book
向類里添加兩個屬性:
Book.groovy
class Book {
String title
String author
}
你可能想要創(chuàng)建一些測試數(shù)據(jù).一個簡單的方法就是在%PROJECT_HOME%/grails-app/conf/ApplicationBootStrap.groovy這個Grails應(yīng)用的啟動類的"init"閉包里創(chuàng)建并保存測試數(shù)據(jù).
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 = {
}
}
創(chuàng)建Controller
Controllers是Grails應(yīng)用的中心,它們處理WEB請求和請求的URLs,將請求和請求參數(shù)映射到控制器類和它里面的一個閉包.
執(zhí)行"grails generate-all"命令,并輸入控制器的名稱.在我們的例子中,我們在生成控制器類的時候輸入"Book",將會在%PROJECT_HOME%/grails-app/controllers下生成一個名叫BookController.groovy的文件.也可以直接在命令后直接加上控制器類的名稱.
grails generate-all Book
打開這個文件,并把里面的內(nèi)容替換成下面所示的代碼,使用在你的程序運行的時候動態(tài)生成的動態(tài)腳手架.
class BookController {
def scaffold = Book
}
要注意你輸入的"Book"是大寫的B開頭.
當(dāng)然,你同樣可以不替換而使用默認生成的代碼.它可是有學(xué)習(xí)的價值哦.
要開始你的Grails應(yīng)用,執(zhí)行下面的命令
grails run-app
這個命令將啟動一個Jetty應(yīng)用服務(wù)器的一個實例運行在8080端口上.為了啟動一個運行在不同端口上,比如說9090,使用grails -Dserver.port=9090 run-app.要訪問books的例表,打開瀏覽器,并輸入:
http://localhost:8080/puras_app/book/list
簡單的小應(yīng)用到此結(jié)束.參照它,舉一返三,做一些簡單的小應(yīng)用還是可以的!
posted on 2008-04-01 00:02
周銳 閱讀(299)
評論(0) 編輯 收藏 所屬分類:
Groovy&Grails