《Grails权威指南》译自由Grails项目负责人Graeme Keith Rocher编写的《The Definitive Guide to Grails》,着重介绍了如何在Grails框架下使用Groovy语言进行敏捷的Web开发。本书详细讲解Grails开发的全部过程,包括项目构架、控制器与视图、与关系数据库之间的ORM映射,以及与Ajax和Java平台的无缝集成。同时该书也揭示了Grails对Java Web开发领域极大的推动作用。
第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 本章小结
附录
C语言程序设计(第2版) 本书特色 丛书的特点:坚持面向应用的方向,以应用为中构建课程体系。准确定位,合理取舍内容,切合实际需要。采用“提出问题—解决问题—归纳...
Excel 2010图表实战技巧精粹-(附光盘) 本书特色 卓越图表应当具备3个重要的要素:真实、简明、丰富。 真实:图表所表达的观点和传递的信息必须真实、准确...
《沃顿管理精要:顾客中心化》内容简介:并非所有的顾客都是上帝,更不可一视同仁。虽然,我们常常会说顾客是上帝,但是并不是所有
《记者的发现力(增订本)》内容简介:“发现”是一种力量。记者善于发现新鲜事物、揭示事物内在规律的能力就是“新闻发现力”。本
这是一本关于搜索引擎的教科书,它从研究实践者的角度介绍了搜索引擎的相关技术及其产业,并试图协助读者成为搜索引擎领域的局内
《HikariCP数据库连接池实战》内容简介:这是一本从设计思想、功能使用、原理实现、工程实践、技术扩展5个维度全面讲解数据库连接池
儿童数码照片处理与设计宝典 本书特色 《儿童数码照片处理与设计宝典》编辑推荐:光盘中素材文件夹收录了24个生肖模板,24个星座模板,44套英文字体,以及25张精...
《西方哲学精神》内容简介:作者在分析、评价从古代到近代西方哲学史上著名的人物和流派的理论、观点的基础上,由中西比较的视点出
Scala是一种针对JVM的通用的编程语言,用来以简明、优雅、类型安全的方式表示常见的编程模式。它无缝集成了面向对象语言和函数式
《MATLAB神经网络应用设计》利用目前国际上流行的MATLAB环境,结合神经网络工具箱,在深入浅出地介绍人工神经网络中的各种典型网
Java和Android开发学习指南-(第2版) 本书特色 本书是java语言学习指南,特别针对使用java进行android应用程序开发展开了详细介绍。全书共...
白帽子讲浏览器安全 本书特色 浏览器是重要的互联网入口,一旦受到漏洞攻击,将直接影响到用户的信息安全。作为攻击者有哪些攻击思路,作为用户有哪些应对手段?在本书中...
《军人常见心理问题解析及辅导》内容简介:本书选取军人在兵之初、日常工作、人际交往、个人生活(包括恋爱、婚姻、家庭等方面)常
VB-MAPP语言行为里程碑评估及安置程序-(全2册) 本书特色 这套《语言行为里程碑及安置程序》为教育人员和家长对孤独症和其他发展性障碍孩子的学习、语言和社会...
《女性家庭健身基础:全彩图解版》内容简介:女性家庭健身基础为女性健身者,尤其是希望在家健身的女性提供了健身所需的基础知识和
未来信息时代的城市是什么样的?构成城市肌理的建筑又以怎样的面貌呈现?本书从电子会场、电子公民、比特业等多角度,既系统又深
用户故事与敏捷方法 本书特色 《用户故事与敏捷方法》:敏捷大师Mike Cohn的软件需求方法圣经,小型团队(项目)不可或缺的敏捷开发宝典,亚马逊五星级长销图书...
撬开你脑子里的那些困惑,让你重新认识游戏设计的真谛,人人都可以成为成功的游戏设计者!从更多的角度去审视你的游戏,从不完美的
《画笔下的城市》内容简介:在艺术家的眼里,每个城市都有独特的本土文化和艺术风格。本书收集了26位艺术家的城市手绘作品,包括从
《斯坦福社会创新评论09》内容简介:区块链、人工智能、3D打印等在给社会创新领域带来新的发展,是否也触发了科技的“黑暗面”?技