領域類
領域類是 Grails 應用的生命血液。簡單的講,它們定義了你打算跟蹤的“東西”。
Grails 接受這些簡單的類,並利用它們完成許多工作。相應的數據庫表會自動爲每個領域類創建。
控制器和視圖會從關聯的領域類中派生出名字。領域類還是存放驗證規則、定義“一對多”關係,以及包含其他許多信息的地方。
其中的Static mapping{}塊中主要的作用:
1. 映射:列明與數據庫表名的映射;
2. 排序:用sort。。sort dateCreated: "desc"或sort "startDate"
3. version false
4. discriminator value: 3
控制器
控制器負責把數據從數據庫中取出,創建新模型,最後把他們交給視圖用於顯示。
Grails中也有域類(domain classes)模塊用來(控制)在view中顯示應用程序數據。然而與其他的MVC模式不同的是,Grails域類是持久化的,甚至可以自動生成底層數據庫模式(database schema)。像其他MVC框架,Grails的控制器用來處理請求、編排服務或其他行爲。不同於大多數MVC框架,服務及其他類可以使用注入的命名約定進行自動注入。此外,Grails的控制器是有請求範圍(request-scoped),這意味着爲每個請求創建一個新的實例。最後一點,Grails的默認視圖是Groovy服務器頁面(Groovy Server Pages (GSP)),是典型的遞送式HTML(renders HTML),視圖層還包括一個靈活的佈局、具有模板功能,並且簡單的標記庫。