第1章 尋找Grails之旅
1.1 Java的睏惑
1.2 Webc2.0時代
1.3 Java的力量
1.4 什麼是Grails
1.4.1 與Java集成
1.4.2 簡單而強大
1.4.3 吸取的經驗教訓
1.5 使用Grails的原因
1.6 Grails入門
1.6.1 運行Grails命令
1.6.2 義不容辭的“HellocWorld!”
1.7 單元測試
1.8 本章小結
第2章 Groovy動態語言
2.1 Groovy和Java的異同
2.1.1 相同點
2.1.2 不同點
2.2 基礎知識
2.1.1 類聲明
2.2.2 語言級斷言(Assertion)
2.2.3 Groovy字符串
2.2.4 閉包(Closures)
2.2.5 列錶(List)和映射(Map)
2.2.6 Expando動態對象
2.2.7 範圍(Range)
2.3 Groovy的高級特性
2.3.1 一切都是對象
2.3.2 元編程(Metaprogramming)
2.3.3 生成器(Builder)
2.4 本章小結
第3章 Grails工程基礎架構
3.1 Grails工程結構
3.2 Grails和MVC模式
3.2.1 MVC中的模型(M)
3.2.2 MVC中的視圖(V)
3.2.3 MVC中的控製器(C)
3.2.4 除MVC之外的其他部分
3.3 Grails支持多種環境
3.4 數據源配置
3.4.1 支持的數據庫
3.4.2 配置自定義方言(Dialect)
3.5 引導Grails應用程序
3.6 配置日誌(Logging)
3.6.1 啓用SQL日誌
3.6.2 日誌記錄(Logging)和環境
3.7 Grails命令行工具
3.7.1 在不同的端口上運行Grails應用程序
3.7.2 打包war存檔文件(WARcArchive)
3.8 使用Grails控製颱(Console)及命令解釋程序(Shell)
3.8.1 使用命令行Shell
3.8.2 Grails控製颱(Console)
3.9 IDE集成
3.9.1 安裝Groovy-Eclipse插件
3.9.2 導入Grails工程
3.9.3 在Eclipse中運行Grails應用程序
3.10 本章小結
第4章 Grails中的域(Domain)
4.1 簡化的ORM和Grails對象關係映射(GORM)
4.2 GORM基礎
4.3 設置屬性可選
4.4 GORM中的關係
4.5 執行CRUD操作
4.5.1 創建書簽
4.5.2 讀取書簽
4.5.3 更新書簽
4.5.4 刪除書簽
4.6 查詢領域模型(DomaincModel)
4.6.1 使用get方法和exists方法進行基本查詢
4.6.2 列舉(Listing),70排序(Sorting)以及閤計(Counting)
4.6.3 用動態查找器(Finder)查詢
4.6.4 使用HQL進行查詢
4.6.5 按樣本(Example)查詢
4.6.6 使用條件(Criteria)查詢
4.7 映射繼承
4.8 驗證領域(Domain)模型
4.8.1 使用域約束(Domainonstraints)
4.8.2 驗證約束(Constraints)
4.8.3 自定義約束(Constraints)
4.8.4 迴顧更新操作
4.9 本章小結
第5章 腳手架(Scaffolding)
5.1 動態腳手架
5.1.1 創建操作(Create)
5.1.2 讀取操作(Read)
5.1.3 更新操作(Update)
5.1.4 刪除操作(Delete)
5.1.5 重寫(Overriding)CRUD操作
5.1.6 使用約束自定義字段.
5.2 靜態腳手架
5.2.1 生成控製器(Controller)
5.2.2 生成視圖(Views)
5.3 本章小結
第6章 測試
6.1 編寫高效的單元測試
6.1.1 使用assert關鍵字
6.1.2 使用測試數據
6.1.3 探索GroovyTestCase
6.1.4 測試實踐
6.2 使用Mocks和Stubs
6.2.1 Mock實戰
6.2.2 使用閉包修整(Closureurrying)定義測試數據
6.3 使用WebTest進行功能測試
6.3.1 安裝WebTest
6.3.2 生成Web測試
6.3.3 執行Web測試
6.3.4 與錶單交互
6.4 本章小結
第7章 Grails控製器(Controller)
7.1 控製器介紹
7.2 設置默認操作
7.3 訪問Request屬性
7.3.1 使用日誌(Logging)
7.3.2 處理request參數
7.3.3 理解Flash作用域
7.4 創建模型(Model)
7.5 數據綁定和類型轉換
7.5.1 用領域模型(DomaincModel)進行數據綁定
7.5.2 使用bindData方法進行數據綁定
7.6 用重定嚮控製流程
7.7 使用chain方法構造模型(Model)
7.8 顯示響應(Response)
7.8.1 顯示文本
7.8.2 顯示指定的視圖
7.8.3 顯示標記(Markup)
7.9 攔截操作
7.9.1 Before通知
7.9.2 After通知
7.9.3 使用攔截器實現驗證
7.10 處理文件上傳
7.10.1 使用multipart請求
7.10.2 上傳和數據綁定
7.11 本章小結
第8章 GroovycServercPages
8.1 基礎知識
8.1.1 理解模型
8.1.2 頁麵指令
8.1.3 GroovycScriptlets
8.1.4 在GSP中使用GString
8.2 Grails內置標簽
8.2.1 使用標簽來設置變量
8.2.2 邏輯標簽
8.2.3 迭代標簽
8.2.4 過濾器和迭代
8.3 Grails動態標簽
8.3.1 鏈接標簽
8.3.2 創建錶單和字段
8.3.3 驗證和錯誤處理
8.4 國際化支持
8.4.1 標簽
8.5 使用布局和模闆
8.5.1 布局演示
8.5.2 按照慣例布局
8.5.3 使用Meta標簽進行布局
8.5.4 演示布局
8.5.5 理解模闆
8.5.6 共享模闆
8.5.7 重新討論Render方法
8.6 對數據進行分頁
8.7 創建自定義標簽
8.7.1 創建標簽庫
8.7.2 自定義標簽基礎內容
8.7.3 演示自定義標簽
8.7.4 測試自定義標簽
8.8 本章小結
第9章 Ajax
9.1 Ajax基礎知識
9.2 Ajax實戰
9.2.1 在遠程方法調用前後執行代碼
9.2.2 事件處理
9.2.3 完善頁麵的更新
9.3 創建遠程調用鏈接
9.4 實現Ajax效果(Effects)
9.5 如何處理JavaScript事件
9.6 以異步方式提交錶單
9.7 關於Ajax性能的討論
9.8 本章小結
第10章 服務(Services)和作業(Jobs)
10.1 服務基礎知識
10.1.1 事務
10.1.2 服務和依賴注入
10.2 服務實戰
10.2.1 示例A——擴展搜索功能
10.2.2 示例B——顯示del.icio.us中的最新數據
10.2.3 測試服務
10.3 使用Quartz進行作業調度
10.3.1 簡單的作業
10.3.2 Cron作業
10.4 作業實戰
10.4.1 修改領域模型
10.4.2 實現控製器
10.4.3 創建視圖和模闆
10.4.4 作業調度
10.4.5 測試作業
10.5 使用調度程序
10.5.1 暫停和恢復作業
10.5.2 觸發作業
10.5.3 增加和刪除作業
10.6 本章小結
第11章 與Java集成
11.1 服務器端Java集成
11.2 通過集成Hibernate實現ORM
11.2.1 使用HibernatecXML映射
11.2.2 EJB3方式的映射
11.2.3 在POJO實體中使用約束
11.2.4 得到SessionFactory對象
11.3 使用Spring進行依賴注入
11.3.1 使用Grails中的Bean
11.3.2 重載Bean的定義
11.4 在Grails中使用Spring控製器
11.5 在Grails中使用Acegi
11.6 使用XFire創建SOAP服務
11.7 本章小結
附錄
· · · · · · (
收起)