第一部分 了解ZK Ajax框架 1
第1章 什么是ZK Ajax框架 3
1.1 ZK Ajax框架 4
1.1.1Ajax:后台处理技术 5
1.1.2表现层 6
1.1.3以服务端为中心的事件驱动框架 7
1.1.4基于组件的GUI工具箱 7
1.2本章小结 7
第2章 开始ZK之旅 9
2.1安装Java运行时环境 9
2.2安装Java servlet容器 10
2.2.1使用Instal 1er包 10
2.2.2使用ZIP文件 10
2.3部署和测试zkdemo-all.war 11
2.4相关的类库 11
2.5配置web.xml 12
2.6配置zk.xml 14
2.7本章小结 15
第3章 构建你的第一个ZK应用 17
3.1第一个ZK应用:Hello World 17
3.2第一个ZK组件:窗体(Window)组件 19
3.3将 Ajax注入到你的ZK应用中 22
3.4本章小结 27
第4章 介绍通用ZK组件 29
4.1组件,页面和桌面 29
4.2组件的生命周期 30
4.2.1 ZUML页面的生命周期 30
页面初始化阶段 30
组件创建阶段 31
事件处理阶段 31
回填阶段 32
4.2.2更新页面 32
请求处理阶段 32
事件处理阶段 32
回填阶段 33
4.3组件垃圾回收 33
4.4使用组件的属性 33
4.4.1组件的id属性 34
4.4.2组件的if和unless属性 36
4.4.3组件的forEach属性 38
4.4.4组件的use属性 38
4.4.5 ID空间(ID Spaces) 40
获取ID空间范围内的成员组件 40
获取ID空间范围外的组件 41
4.4.6获取另一个页面中的组件 43
4.4.7使用zscript和EL表达式 43
zscript 43
EL表达式 45
4.5事件 46
4.6 ZUML和XML命名空间 47
4.7创建真实的模式对话框(modal dialog) 48
4.7.1消息框 48
4.7.2文件上传 49
4.8实现宏组件(Macro Component) 49
4.8.1集成大组件(Mega Component) 50
Google地图 50
FCKeditor 52
Doj o 52
4.9本章小结 54
第二部分 应用ZK框架 55
第5章 搭建开发环境 57
5.1安装Java SE (JDK ) 57
5.2安装Tomcat 58
5.3安装Eclipse IDE SDK 58
5.3.1安装带WTP插件的Eclipse 58
5.3.2指定Eclipse的工作空间 59
5.3.3设置Tomcat和Elicpse一同工作 59
5.3.4定义一个服务器实例(Server Instance) 62
5.4在XML编辑器中设置.zul文件扩展名的关联 64
5.5配置ZK和Eclipse一同工作 66
5.5.1创建一个动态Web工程 66
5.5.2导入ZK JAR类库并设置Web配置 68
5.5.3创建一个新的index.zul文件 70
5.5.4运行你的第一个应用程序 71
5.6更多方便的工具 73
5.6.1导入ZK源代码到Eclipse中 73
5.6.2集成zul.xsd的XML Schema文件 75
5.6.3使用zul.xsd这个XML Schema文件创建一个页面 77
5.6.4在Eclipse中找回丢失的xsd文件URL 83
5.7本章小结 83
第6章 创建一个真实的Web应用 85
6.1介绍Java Pet Store 2.0 85
6.2创建ZK Pet Shop应用 85
6.2.1安装ZK Pet Shop 86
6.3创建ZK Pet Shop的主页 8
6.3.1使用Dojo构建Fish-Eye列表 87
6.3.2监听onClick事件 89
6.3.3构建带超链接功能的图片 89
6.3.4将banner.zul包含到index.zul中 90
添加鹦鹉图标 91
添加标题 92
添加菜单条 92
6.4 ZK Pet Shop应用的需求 93
6.4.1视图和控制器之间的互操作 93
6.5发布宠物信息 94
6.5.1创建seller.zul 94
声明seller.zul的控制器 95
创建一个用来提交宠物信息的表单 95
添加富文本编辑器 97
提供文件上传功能 97
创建一个表单用来提交卖家的联系方式信息 99
添加一个CAPTCHA 100
添加客户端验证约束 101
保存用户提交的信息到数据库中 103
6.6浏览宠物信息和照片 105
6.6.1更新catalog.zul文件 105
创建菜单条 106
创建宠物的大图 109
创建宠物的缩略图长廊 109
创建描述面板 111
6.7使用Google地图来搜索宠物的位置 111
6.7.1创建mapall.zul 111
创建一个表单用于提交用户的地址作为查询条件 112
使用Google地图来显示宠物的位置 114
在Google地图中显示结果 115
在gmap组件上显示宠物的位置 116
在grid中显示宠物的信息 116
重定向页面到catalog.zul 117
在地图上提示宠物的位置 117
自定义事件监听器 118
在弹出窗口中显示宠物的详细信息及缩略图 118
创建popup.zul 120
6.8本章小结 121
第7章 将GUI和数据库进行链接 123
7.1准备数据库环境 123
7.1.1下载HSQL数据库 123
7.1.2创建ZK Pet Shop数据表 124
7.1.3 JDBC和连接池 128
7.2让ZK和Hibemate一同工作 130
7.2.1使用Hibemate的先决条件 131
创建Java类 131
编辑Hibemate配置文件 132
映射对象资源 133
7.2.3使用映射文件的方式 134
7.2.4使用Java注释(Annotations)语言 135
7.2.5 Hibemate的高级特征 135
工作单元 135
保持一个会话为开启状态 136
配置ZK来使用会话 137
7.3 ZK Pet Shop中带注释语言的数据模型 137
表的注释语言 139
属性的注释语言 139
主键的注释语言 140
7.4实现ZK Pet Shop的门面类 142
7.4.1 CatalogFacade类 142
7.4.2用Hibemate实现CatalogFacade类 143
SELECT语句 143
INSERT语句 144
7.4.3用户行为和后台处理机制 145
用户提交要出售的宠物信息 145
用户第一次访问catalog.zul 146
浏览某一种产品类型的宠物 148
使用Google地图来查找宠物的位置 150
7.5本章小结 152
第8章 自动绑定数据 153
8.1去掉管道处理代码 153
8.2使用ZUML Annotations类 154
8.2.1格式化数据绑定注释语言 154
8.2.2使用ZK Annotations类来进行数据绑定 156
load-when标签 157
save-when标签 157
8.3在ZK Pet Shop的GUI中添加数据绑定机制 158
8.3.1在ZK Pet Shop中使用数据绑定机制 159
声明数据模型的getter和setter方法 159
声明ZUML注释语言命名空间 161
定义数据绑定注释语言 162
指定调用数据绑定管理器的事件 163
8.3.2对数据的集合进行数据绑定 164
声明数据模型的getter和setter方法 165
定义数据绑定注释语言 166
8.3.3在 listbox的model属性中指定数据集合 166
8.3.4使用var标签定义一个ZK组件的模板 166
8.4本章小结 167