GWT是Google Web Toolkit的简写,它是搜索引擎巨头Google公司发布的基于Java语言开发Ajax应用的工具包。使用GWT可以通过编写Java代码和传统的HTML页面来构造Ajax应用界面,并与服务器实现异步通信。
本书全面讲解了GWT技术,主要内容包括Widget、Panel、GWT的事件和监听器、ImageBundle技术、GWT的RPC机制、RequestBuilder、国际化、JSNI技术、在GWT中使用JSON的方法、JUnit整合、跨越同源策略、部署GWT工程等。
本书从构建GWT Web界面讲起,逐步深入到GWT中RPC、JSNI、JSON等高级技术。书中所涉及的相关组件都介绍了基础知识和基本的使用方法,并配有相关实例,希望读者不仅能掌握GWT技术本身,也能掌握更多相关组件的知识。
本书全面讲解了GWT技术,主要内容包括:Widget、Panel、GWT的事件和监听器,Image Bundle技术,GWT的RPC机制,RequestBuildet,国际化,JSNI技术,在GWT中使用JSON的方法,JUnit整合,跨越同源策略,部署GWT工程等。
全书深入浅出,循序渐进,从如何构建GWT Web界面讲起,逐步深入到GWT中RPC、JSNI、JSON等高级技术。书中对所涉及的相关组件都介绍了基础知识和基本的使用方法,并配有相关实例,不仅能帮助读者掌握GWT技术本身,也能掌握更多相关组件的知识。本书语言通俗易懂,实例伴有相关讲解。如果读者有Java语言基础,那么阅读本书更可以事半功倍,迅速掌握GWT开发Ajax应用程序的方法。
本书不仅适用于具有一定Java开发经验的开发人员,也同样适用于大中专院校的学生。
前言
第1章 GWT入门/1
1.1 GWT概述/1
1.1.1 AJAX简介/1
1.1.2 GWT简介/2
1.2 搭建GWT开发环境/2
1.2.1 安装JDK/2
1.2.2 安装GWT/4
1.2.3 安装Eclipse/4
1.3 运行GWT样例程序/4
1.3.1 主机模式下运行GWT/4
1.3.2 Web模式下运行GWT/4
1.4 创建GWT工程/6
1.4.1 用applicationCreator创建一个GWT应用/6
1.4.2 创建一个用于Eclipse的GWT应用/7
1.5 初识GWT应用程序/9
1.5.1 入口点类/9
1.5.2 HTML页面/10
1.5.3 模块/12
1.6 projectCreator命令详解/13
1.7 applicationCreator命令详解/14
1.8 标准GWT工程结构/14
1.9 模块/15
1.10 CSS层叠样式表/17
1.11 GWT的其他基础知识/20
1.11.1 客户端代码/20
1.11.2 服务器端代码/20
1.11.3 GWT的Java语言兼容性/20
1.12 本章小结/21
第2章 事件和监听器/22
2.1 事件/22
2.1.1 GWT事件/22
2.1.2 浏览器的事件处理机制/23
2.1.3 Widget/Panel对事件的处理/24
2.2 监听器/28
2.3 本章小结/30
第3章 用Widget构建用户界面/31
3.1 传统Web组件/32
3.1.1 Label标签/32
3.1.2 HTML组件/33
3.1.3 Button按钮/34
3.1.4 CheckBox复选框/36
3.1.5 RadioButton单选框/39
3.1.6 TextBox文本框/39
3.1.7 TextArea文本区/41
3.1.8 PasswordTextBox密码文本框/43
3.1.9 TextBoxBase文本框基类/44
3.1.10 ListBox列表框/48
3.1.11 Frame框架/51
3.1.12 Hidden隐藏标签/52
3.2 高级Web组件/52
3.2.1 CustomButton自定义按钮/52
3.2.2 PushButton推压按钮/54
3.2.3 ToggleButton绑定按钮/55
3.2.4 RichTextArea富文本/56
3.2.5 Menu菜单/62
3.2.6 TabBar页卡栏/66
3.2.7 Grid网格/67
3.2.8 FlexTable伸缩表格/69
3.2.9 HTMLTable HTML表格/72
3.2.10 Tree树/75
3.2.11 Image图片/81
3.3 Hyperlink超链接和History历史管理/84
3.3.1 Hyperlink超链接/84
3.3.2 用History实现历史管理/86
3.4 本章小结/89
第4章 Image Bundle的使用/90
4.1 Image Bundle简介/90
4.2 在GWT中实现Image Bundle/90
4.2.1 定义ImageBundle接口/90
4.2.2 ImageBundle接口的使用/92
4.3 ImageBundle实例/93
4.4 ImageBundle的子接口/94
4.5 本章小结/96
第5章 用Panel实现UI布局/97
5.1 Panel的分类/98
5.2 Simple panels单一面板/98
5.2.1 ScrollPanel滚动条面板/98
5.2.2 FocusPanel焦点面板/100
5.2.3 FormPanel表单面板/102
5.2.4 PopupPanel弹出面板/111
5.2.5 DialogBox对话框/121
5.3 Complex panels复合面板/124
5.3.1 DockPanel方位面板/124
5.3.2 HorizontalPanel水平面板/128
5.3.3 VerticalPanel竖直面板/131
5.3.4 FlowPanel流面板/133
5.3.5 StackPanel堆面板/134
5.3.6 DeckPanel层叠面板/136
5.3.7 AbsolutePanel绝对值面板/138
5.3.8 RootPanel根面板/140
5.4 Composite Panels合成面板/140
5.4.1 TabPanel页卡面板/140
5.4.2 DisclosurePanel展开面板/144
5.4.3 SuggestBox提示框/147
5.5 Split Panels分裂面板/151
5.5.1 HorizontalSplitPanel水平分割面板/151
5.5.2 VerticalSplitPanel竖直分隔面板/152
5.6 用Composite实现自定义Widget/Panel/153
5.7 其他布局方式/155
5.8 本章小结/156
第6章 GWT中的RPC机制/157
6.1 服务接口/158
6.2 服务实现类/159
6.3 异步接口/162
6.4 调用RPC/163
6.5 串行化/173
6.6 本章小结/175
第7章 国际化/176
7.1 通过Constants实现国际化/176
7.2 通过Messages实现国际化/185
7.3 通过ConstantsWithLookup实现国际化/190
7.4 通过Dictionary实现国际化/190
7.5 静态本地化和动态本地化/191
7.5.1 静态本地化/191
7.5.2 动态本地化/192
7.6 i18nCreator命令详解/192
7.7 用NumberFormat国际化数值/193
7.8 用DateTimeFormat国际化日期和时间/195
7.9 Image Bundles和本地化/201
7.10 本章小结/206
第8章 GWT中的JSNI技术/207
8.1 JSNI简介/207
8.2 编写JSNI方法/208
8.3 在JavaScript中访问Java域/208
8.4 在JavaScript中调用Java方法/208
8.5 在Java和JavaScript间传递对象/211
8.6 JSNI与异常/213
8.7 封装JavaScript库/213
8.7.1 在GWT中嵌入script.aculo.us的effects组件/213
8.7.2 在GWT中嵌入script.aculo.us的dragdrop拖放组件/216
8.7.3 在GWT中嵌入ActiveWidgets的grid组件/218
8.8 本章小结/224
第9章 GWT与JUnit整合/225
9.1 JUnit基础/225
9.1.1 安装JUnit/225
9.1.2 编写测试用例/225
9.1.3 运行JUnit测试/226
9.2 GWT与JUnit整合/226
9.2.1 建立测试类/227
9.2.2 junitCreator详解/227
9.2.3 异步测试/229
9.3 本章小结/230
第10章 使用RequestBuilder传输数据/231
10.1 Get方法和Post方法/231
10.1.1 URL简介/231
10.1.2 Get方法和Post方法/232
10.2 用RequestBuilder实现远程调用/232
10.3 用RequestBuilder读取XML数据/236
10.4 本章小结/242
第11章 在GWT中使用JSON/243
11.1 JSON基础/243
11.2 在GWT中使用JSON/245
11.2.1 通过JSONParser解析JSON数据/245
11.2.2 JSONValue对象/245
11.2.3 JSONString,JSONBoolean,JSONNumber和JSONNull对象/246
11.2.4 JSONArray对象/246
11.2.5 JSONObject对象/247
11.3 JSON实例/248
11.4 本章小结/253
第12章 跨越同源策略/254
12.1 同源策略简介/254
12.2 服务器端代理/254
12.3 通过Google AJAX Feed API实现跨域访问/258
12.3.1 Google AJAX Feed API简介/258
12.3.2 Google AJAX Feed API的使用方法/258
12.3.3 用Google AJAX Feed API读取种子/260
12.4 本章小结/263
第13章 全面理解GWT/264
13.1 GWT工程文件详解/264
13.2 GWT工程的启动机制/267
13.2.1 标准应用/268
13.2.2 跨域应用/269
13.3 部署GWT工程/269
13.3.1 删除不需要的文件/269
13.3.2 将GWT工程部署到服务器/271
13.4 本章小结/273
附录 keyCode键码值表/274