《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 本章小结
附录
《中国能源国际合作报告(2018/2019)》内容简介:本报告在整理和分析2018年和2019年中国能源国际合作的趋势和成果的基础上,对中国
《素描初步——静物绘制基础教程》内容简介:静物画是学习素描中重要的一部分,初学者在学习时会遇到造型不准确、画不准结构、比例
《人生三舍》内容简介:本书是关于探索人生哲学的通俗读物。本书包括了把过程当作一种享受;直的不行就绕个弯;宽广胸襟,无忧也无
《全彩中国史(下册)》内容简介:《中国史(全彩)(图文全解)(套装上下册)》脉络清晰,以历史批判精神,描绘和评述了从盘古开天辟地
《西城追忆·抗战西城》内容简介:2015年初,西城区档案局(馆)与西城区文物研究所合作出版的《西城追忆·文物保护专辑》,深受各
SolidWorks快速入门教程 本书特色 本书是学习SolidWorks2016中文版的快速入门与提高教程,内容包括SolidWorks2016功能概述、软件...
The3GIPMultimediaSubsystem(IMS):MergingtheInternetandtheCellularWorlds,SecondEdi...
智能摘要与深度学习 本书特色 本书从背景、需求入手,以*直接有效的方法切入,讲解如何搭建摘要系统。对摘要领域的算法做深入剖析,并对未来研究趋势做规划和预测。智能...
《奇迹·笨小孩》内容简介:时间不会辜负每一个努力追逐幸福的“笨小孩”1.电影《奇迹·笨小孩》【官方授权典藏本】重磅发售! 《我
《法商智慧:公民维权36计》内容简介:本书涵盖了中国公民在民事经济活动、婚姻与家庭关系、劳动人事领域、日常消费活动、与政府部
人类历史上每隔一段时间就会出现新的“革命”,每次“革命”都伴随着创造巨富的机会。经济的最终目的是不断地追求公平和效率,而
《库克群岛》内容简介:库克群岛位于南太平洋的波利尼西亚群岛,由15个岛屿组成,是新西兰的自由联系国,被誉为“南太平洋的果园”
《温故(十三)》内容简介:《温故》是一种陆续出版的历史文化读物。以今天的视角来追怀与审视过去,并为当下的生存与未来的发展提
《远采诸邻》内容简介:本书是“复旦文史讲堂”的第九种,收录了海内外著名学者罗多弼(Torbjorn Loden)、欧立德(Mark C.Elliott
《声学基础》声学是一门既古老又迅速发展着的学科,近年来已渗透到几乎所有重要的自然科学和工程技术领域,并已融入于当代科学技
《破茧成蝶》内容简介:市面上已经有很多专业的用户体验书籍,但解决用户体验设计师在职场中遇到的众多现实问题的图书并不多见。本
《软件项目估算》内容简介:本书主要讲解如何构建估算模型和验证估算模型的质量。本书分为3个部分,共13章。第一部分(第1~3章)介
XML基础教程 本书特色 XML是由万维网联盟定义的一种语言,是表示结构化数据的行业标准,使得Internet上的数据相互交流更方便,让文件的内容更加显而易懂。...
AndyOramAndyOram是OReillyMedia的编辑。他从1992年开始就在这家公司工作,Andy目前主要关注自由软件和开源技术。他在OReilly...
《智能物联网》内容简介:本书探讨了物联网的现状和未来发展趋势,以及所面临的相关安全问题。作者艾哈迈德·巴纳法(Ahmed Banafa