首页>参考读物>计算机科学与技术>软件与程序设计

ExtJS Web应用程序开发指南
作者 : 卫军 夏慧军 孟腊春
丛书名 : 原创精品系列
出版日期 : 2008-12-01
ISBN : 7-111-25176-7
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 443
开本 : 16开
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

ExtJS的前身是YUI(Yahoo User Interface),经过不断发展与改进,现在已经成为最完整与成熟的一套构建RIA Web应用的JavaScript基础库。ExtJS已经成为开发具有完满用户体验的Web应用的完美选择。
  本书可以作为Web应用开发的参考手册,特别适合用于RIA Web开发的自学参考,也可以作为ExtJS应用开发的培训教材。

本书特色
  ● 针对ExtJS的Web开发技术,从基础的运行平台的搭建开始讲起,层层深入各个表单、面板和布局的灵活运用,接着剖析详细组件和函数,把Ajax与ExtJS完美结合。
  ● 对数据模型、高级组件和Struts和Struts 2框架实现整合应用。最后通过Portal实现用活ExtJS。
  ● 丰富的应用实例引导学习——本书从开始到结束都贯穿实例,通过例子去理解掌握相关技术。而且例子来源于开发实践,稍微移植就能应用在开发中。
  ● 与主流技术的整合应用——考虑到ExtJS开发的实际情况,本书还特意讲解与Ajax、JSP标签库、Struts的整合,真正实现在开发中灵活应用ExtJS。
精彩示范效果

  包含相关实例文件,源代码和ExtJS库文件。

图书特色

图书前言

ExtJS的前身即YUI(Yahoo User Interface),经过不断发展与改进,已经成为最完整与成熟的一套构建RIA Web应用的JavaScript基础库。利用ExtJS构建的RIA Web应用具有与桌面程序一样的标准用户界面与操作方式,能够横跨不同的浏览器平台。ExtJS已经成为开发具有较好用户体验的Web应用的完美选择。在RIA Web开发的征途中,选择ExtJS作为克敌制胜的武器,程序员可以享受ExtJS带来的类似于Win32编程的原生态快乐。
  随着用户对体验的要求越来越高,特别对于Web应用开发者而言,ExtJS无疑是优秀的解决方案,能够帮助开发者快速实现良好用户界面的开发。ExtJS是在YUI基础上拓展出来的,在我国具有广阔的用户,再加上ExtJS又是开源的,生命力非常强劲。
  ExtJS漂亮的功能时刻吸引我们去深入探究和应用,但是ExtJS自身的特点,使得我们在学习的时候会遭遇如下的诸多困惑:
  ナExtJS为用户提供了功能强大的组件,但这些组件并不能满足项目中功能多变的需求,学会扩展已有组件比较困难。除了扩展组件,ExtJS组件还提供了插件功能,学会插件的编写也是一个不错的选择。
  ナ要扩展ExtJS组件只阅读API文档是不行的,还必须对相关的组件源代码比较熟悉才能有效地实现组件扩展。如何快速掌握ExtJS的源代码也是个问题。
ナExtJS源代码的数量和结构比较复杂,大量使用了json对象实现功能的封装,所以必须熟悉json对象。
  ナ学会组件式的开发方法有助于大幅减少代码量,减轻维护的强度。
  ナ在ExtJS的源代码中经常出现一些不常见的语法形式,不太容易理解。
  在本书中你会找到几乎上述所有问题的答案,解决困惑。本书通过各种实例,详细全面地介绍使用ExtJS进行RIA Web开发,对在开发过程中与其他相关技术的结合进行了说明。最终可以开发出功能强大、界面标准、用户体验完美的Web应用。本书的案例来自ExtJS开发的实际Web应用项目,对开发者有较强的指导意义。
  主要内容
  本书从ExtJS实现的功能开始讲解RIA Web开发,通过经典的Hello World快速搭建和配置第一个程序。然后详细讲解ExtJS的基本功能、常用的表单、面板和布局、常见的工具类与函数,以及ExtJS对事件的响应。这些基本组件、函数的讲解结合现今流行的Web框架进行改造,将相关技术融合起来应用。随着Ajax逐渐渗透到Web开发的各个方面,增加了ExtJS与数据交互重要的数据模型、ExtJS的JSP标签库ExtTLD、ExtJS高级组件的讲解。考虑到ExtJS与主流服务端框架的整合越来越紧密,本书还特意讲解了Struts和Struts2框架的整合与配置。本书还全面细致地讲解了ExtJS实现的Portal实例,真正实现完全整合应用ExtJS技术。本书还为RIA Web开发设计提供经典的应用解决方案。
  本书写给谁
  本书语言通俗易懂,版式清新,通过大量的实例讲解技术。广大的Web程序员可以从本书中能找到经典的应用解决方案。RIA Web应用开发的爱好者从中也可以找到进步的阶梯。
  本书特色
  阅读门槛低—不要求读者对ExtJS有所了解,只要熟悉JavaScript编程,就能从头开始领略ExtJS的风采。
  平台开发的概念—ExtJS是一种软件开发平台,而非一个普通的JavaScript框架,用桌面程序开发思想指导基于ExtJS的Web应用。
  来自于实践—在大型项目开发中学习并应用ExtJS,大量的案例都是实际项目情景的缩影,在讲解时穿插大量的实践经验提示,实践的指导意义强大。
  典型场景应用—本书在讲述各章内容中穿插了对常见Web应用框架使用ExtJS进行改造的实例。Web应用框架是最基本的典型场景应用,每个Web开发都会遇到。
完整开发实例—本书提供了完整的基于ExtJS实现的Portal实例。该实例完全可以立即投入到火热的Portal风潮的实际应用中。
  致谢与分工
  本书由卫军、夏慧军和孟腊春三人编著。姚新军先生参与本书的前期策划和后期的质量监控。参与本书校对和排版工作的有王斌、张强林、万雷、张赛桥、刘军华、黄北军、陈洪军、黄中林、陈鲲、赵腾伦等。全书由成都易为科技有限责任公司审定。感谢Testdll、清源、Alex XRDU等多位技术专家提出的宝贵意见和建议。
  由于作者水平和精力有限,疏漏之处在所难免,欢迎读者批评指正。为方便读者更好地理解和应用,本书将书中的代码与示例提供给读者,方便读者更快捷、高效地阅读本书。

封底文字

ExtJS的前身是YUI(Yahoo User Interface),经过不断发展与改进,现在已经成为最完整与成熟的一套构建RIA Web应用的JavaScript基础库。ExtJS已经成为开发具有完满用户体验的Web应用的完美选择。 本书可以作为Web应用开发的参考手册,特别适合用于RIA Web开发的自学参考,也可以作为ExtJS应用开发的培训教材。 本书特色 ● 针对ExtJS的Web开发技术,从基础的运行平台的搭建开始讲起,层层深入各个表单、面板和布局的灵活运用,接着剖析详细组件和函数,把Ajax与ExtJS完美结合。 ● 对数据模型、高级组件和Struts和Struts 2框架实现整合应用。最后通过Portal实现用活ExtJS。 ● 丰富的应用实例引导学习——本书从开始到结束都贯穿实例,通过例子去理解掌握相关技术。而且例子来源于开发实践,稍微移植就能应用在开发中。 ● 与主流技术的整合应用——考虑到ExtJS开发的实际情况,本书还特意讲解与Ajax、JSP标签库、Struts的整合,真正实现在开发中灵活应用ExtJS。 精彩示范效果 包含相关实例文件,源代码和ExtJS库文件。

作者简介

卫军 夏慧军 孟腊春:暂无简介

图书目录

前言
第1章 认识ExtJS 1
1.1 ExtJS的精彩表现 1
1.2 ExtJS的前世今生 2
1.3 是否真的需要学习ExtJS 3
1.4 ExtJS UI组件基础 7
1.5 了解一下类似技术 9
1.6  本章小结 12
第2章 让我们开始ExtJS之旅 13
2.1 认识ExtJS的开发包 13
2.2 也从Hello world开始 14
2.3 ExtJS中的基本概念 15
2.4 非常有用的开发工具 17
2.4.1 开发插件spket 17
2.4.2 调试工具 19
2.5 ExtJS对原有JavaScript对象的扩展 21
2.6 本章小结 24
第3章 ExtJS 2.0的基本功能 25
3.1 ExtJS 2.0组件配置说明 25
3.1.1 JSON介绍 25
3.1.2 ExtJS组件配置方式介绍 26
3.2 信息提示框组件基础 27
3.2.1 认识Ext.MessageBox 27
3.2.2 Ext.MessageBox.alert() 29
3.2.3 Ext.MessageBox.confirm() 30
3.2.4 Ext.MessageBox.prompt() 31
3.2.5 Ext.MessageBox.wait() 32
3.2.6 Ext.MessageBox.show() 32
3.2.7 Ext.MessageBox的其他功能 34
3.3 进度条组件介绍 38
3.3.1 认识Ext.ProgressBar 38
3.3.2 手工模式的进度条 40
3.3.3 自动模式的进度条 41
3.3.4 自定义的进度条样式 43
3.4 实现工具栏和菜单栏 43
3.4.1 认识Ext.Toolbar 44
3.4.2 只包含按钮的简单工具栏 44
3.4.3 包含多种元素的复杂工具栏 46
3.4.4 认识Ext.menu.Menu菜单 48
3.4.5 最简单的菜单栏 49
3.4.6 创建二级或多级菜单 50
3.4.7 使用适配器(Ext.menu.Adapter) 51
3.4.8 具有选择框的菜单 52
3.5 本章小结 53
第4章 最常用的表单 54
4.1 表单及表单元素 54
4.1.1 了解Ext.form.BasicForm基本表单 54
4.1.2 认识 Ext.form.FormPanel表单面板 56
4.1.3 Ext.form.Field表单字段 58
4.1.4 Ext.form.TextField文本区 60
4.1.5 Ext.form.TextArea多行文本域 62
4.1.6 Ext.form.NumberField数字输入框 63
4.1.7 Ext.form.Checkbox复选框 65
4.1.8 Ext.form.Radio单选框 65
4.1.9 Ext.form.TriggerField触发字段 68
4.1.10 Ext.form.ComboBox组合框 69
4.1.11 Ext.form.TimeField时间选择框 78
4.1.12 Ext.form.DateField日期选择框 80
4.1.13 Ext.form.Hidden隐藏字段 83
4.1.14 Ext.form.HtmlEditor HTML编辑器 84
4.1.15 Ext.form.FieldSet字段集 88
4.2 实现表单验证 89
4.2.1 常见的验证类型 89
4.2.2 表单验证(VType) 90
4.2.3 自定义VType验证 91
4.3 表单的提交和加载 93
4.3.1 Ext.form.Action基础 94
4.3.2 表单数据加载 95
4.3.3 表单数据提交 97
4.4 本章小结 99
第5章 面板及布局类 100
5.1 面板panel 100
5.1.1 认识Ext.Panel 100
5.1.2 Ext.Panel的主要功能 101
5.1.3 使用Ext.Panel 104
5.2 标准布局类 109
5.2.1 ContainerLayout容器布局 109
5.2.2 FitLayout自适应布局 110
5.2.3 AccordionLayout折叠布局 111
5.2.4 CardLayout卡片式布局 112
5.2.5 AnchorLayout锚点布局 114
5.2.6 AbsoluteLayout绝对位置布局 118
5.2.7 FormLayout表单布局 119
5.2.8 ColumnLayout列布局 120
5.2.9 TableLayout表格布局 123
5.2.10 BorderLayout边框布局 124
5.3 使用ViewPort 126
5.4 TabPanel页签 127
5.5 通过布局嵌套实现表单元素横排 131
5.6 本章小结 133
第6章 常用工具类与函数 134
6.1 非常有用的Element元素 134
6.2 Ext常用函数 135
6.2.1 Ext.onReady() 135
6.2.2 Ext.get() 136
6.2.3 Ext.select () 137
6.2.4 Ext.query () 137
6.2.5 Ext.getCmp() 140
6.2.6 Ext.getDom() 141
6.2.7 Ext.isEmpty() 142
6.2.8 Ext.namespace() 143
6.2.9 Ext.each() 143
6.2.10 Ext.apply() 144
6.3 Ext.DomHelper 145
6.3.1 Ext.DomHepler.append 145
6.3.2 Ext.DomHelper.applyStyles() 146
6.3.3 createTemplate() 147
6.3.4 insertAfter() 148
6.3.5 insertBefore() 149
6.3.6 insertFirst() 149
6.3.7 insertHtml() 150
6.3.8 overwrite() 151
6.4 Ext.DomQuery 152
6.4.1 compile() 152
6.4.2 filter() 152
6.4.3 is() 153
6.4.4 select() 153
6.4.5 selectNode() 153
6.5 Ext.util.CSS 154
6.5.1 createStyleSheet() 155
6.5.2 getRule () 155
6.5.3 swapStyleSheet() 155
6.5.4 removeStyleSheet() 157
6.6 Ext.util.ClickRepeater 158
6.6.1 click() 159
6.6.2 mousedown() 159
6.6.3 mouseup() 159
6.7 Ext.util.DelayedTask提供setTimeout的
简单替代 160
6.7.1 canelc() 160
6.7.2 delay() 161
6.8 Ext.util.Format提供常用的格式化方法 161
6.8.1 ellipsis() 161
6.8.2 capitalize() 161
6.8.3 date() 162
6.8.4 htmlEncode () 162
6.8.5 htmlDecode() 162
6.8.6 stripTags() 163
6.8.7 substr() 163
6.9 Ext.util.JSON 编码和解码Json对象 164
6.9.1 decode() 164
6.9.2 encode() 164
6.10 Ext.util.MixedCollection 165
6.10.1 加入对象到集合 165
6.10.2 将数组中的对象加入集合中 166
6.10.3 移除集合中的对象 166
6.10.4 克隆集合 167
6.10.5 匹配集合中的关联对象 167
6.10.6 迭代集合中的对象调用指定的方法 168
6.10.7 获取集合中的对象 168
6.10.8 类中的其他有用方法 169
6.10.9 类中重要的事件 171
6.11 Ext.util.TaskRunner 172
6.11.1 构造函数 172
6.11.2 启动一个线程start() 173
6.11.3 停止一个线程stop() 173
6.11.4 停止所有的线程stopAll() 173
6.12 Ext.util.TextMetrics得到块状化文本
规格 174
6.12.1 块的绑定 174
6.12.2 实例化对象 174
6.12.3 获取文本的高度 175
6.12.4 获取文本的宽、高 175
6.12.5 获取文本的宽度 175
6.12.6 获取指定节点内文本块的宽、高 175
6.12.7 指定文本块的宽 176
6.13 Ext.KeyNav为元素提供简单的按键
处理方法 176
6.13.1 实例化一个键盘绑定对象 177
6.13.2 废弃原有键盘绑定 178
6.13.3 使废弃的键盘绑定重新生效 178
6.14 Ext.KeyMap 提供更灵活强大的按键
的处理方法 178
6.14.1 构造函数 179
6.14.2 给对象添加键盘绑定 179
6.14.3 废弃已绑定到KeyMap的配置 180
6.14.4 使KeyMap或废弃的配置重新生效 180
6.14.5 取当前KeyMap配置是否有效 180
6.14.6 事件绑定函数 181
6.15 本章小结 181
第7章 ExtJS开始响应事件 182
7.1 ExtJS事件与浏览器标准事件的异同 182
7.1.1 事件绑定方式 182
7.1.2 自定义事件 184
7.1.3 跨浏览器事件 185
7.2 ExtJS事件特性 186
7.2.1 Ext.util.Observable(事件基类) 186
7.2.2 事件相关方法举例 188
7.3 Ext.EventObject(事件对象) 189
7.4 Ext.EventManager事件管理器 191
7.5 本章小结 192
第8章 常见Web框架的ExtJS改造 193
8.1 常见Web应用框架说明 193
8.2 简易书籍管理系统 193
8.2.1 总体设计 193
8.2.2 数据库设计 193
8.2.3 数据库脚本 194
8.2.4 工程框架设计 195
8.2.5 页面设计 203
8.3 怎样开始 205
8.3.1 页面改造 205
8.3.2 与服务器交互方式的改造 205
8.4 开始改造 205
8.4.1 改造主页面布局 205
8.4.2 改造菜单栏 207
8.4.3 改造书籍维护界面 208
8.4.4 改造书籍新增界面 212
8.4.5 改造书籍修改界面 219
8.4.6 改造书籍删除功能 221
8.5 换肤的实现 223
8.5.1 ExtJS皮肤的安装 223
8.5.2 创建实现换肤功能的自定义组件Ext.ux.ThemeChange 223
8.5.3 修改菜单列表加入换肤组件 224
8.5.4 查看换肤效果 225
8.6 本章小结 225
第9章 ExtJS对Ajax的支持 226
9.1 Ext.Ajax入门 226
9.1.1 Ext.Ajax.request方法详解 226
9.1.2 Ext.Ajax.request操作示例 227
9.2 Ext.Updater基础 232
9.2.1 Ext.Updater相关的其他类 234
9.2.2 Ext.Updater.update方法详解 235
9.2.3 Ext.Updater.update操作示例 235
9.2.4 Ext.Updater其他方法示例 238
9.3 利用Ajax优化Web应用框架 239
9.3.1 多级联动菜单 239
9.3.2 天气情况查询 242
9.3.3 自动保存的网络记事本 246
9.3.4 网页计算器 248
9.4 本章小结 251
第10章 增强型模板 252
10.1 熟悉Ext.Template 252
10.2 Ext.XTemplate基础 256
10.2.1 自动填充数组和作用域切换 256
10.2.2 在子模板中访问父对象 257
10.2.3 数组索引和简单运算支持 258
10.2.4 自动渲染简单数组 259
10.2.5 使用基本的条件逻辑判断 259
10.2.6 在模板中执行任意代码 260
10.2.7 使用模板成员函数 262
10.3 在ExtJS组件中使用模板 263
10.4 使用模板的优势 264
10.5 在Web中使用模板 265
10.6 本章小结 266
第11章 数据模型 267
11.1 ExtJS数据模型基础 267
11.2 Record数据记录 267
11.3 DataProxy数据代理 269
11.3.1 Ext.data.DataProxy 270
11.3.2 Ext.data.HttpProxy 270
11.3.3 Ext.data.MemoryProxy 272
11.3.4 Ext.data.ScriptTagProxy 273
11.4 DataReader数据解析器 275
11.4.1 Ext.data.DataReader 275
11.4.2 Ext.data.JsonReader 275
11.4.3 Ext.data.ArrayReader 278
11.4.4 Ext.data.XmlReader 279
11.5 Store数据集 281
11.5.1 Ext.data.Store 282
11.5.2 Ext.data.SimpleStore 287
11.5.3 Ext.data.JsonStore 288
11.5.4 Ext.data.GroupingStore 289
11.6 自定义DWR数据代理 291
11.7 本章小结 293
第12章 ExtJS组件 294
12.1 Ext.Component组件类 294
12.2 Ext.BoxComponent组件类 297
12.3 Ext.Container组件容器类 298
12.4 Ext表格组件Grid 300
12.4.1 普通表格面板GridPanel 301
12.4.2 表格列模式ColumnModel 303
12.4.3 表格选择模式SelectionModel 308
12.4.4 表格视图GridView 313
12.4.5 可编辑表格面板EditorGridPanel 316
12.4.6 属性表格面板PropertyGrid 318
12.4.7 分组表格视图GroupingView 321
12.4.8 表格分页及其他 323
12.5 Ext树形组件Tree 325
12.5.1 树形面板TreePanel 326
12.5.2 树节点TreeNode 328
12.5.3 树节点UI 334
12.5.4 树选择模式SelectionModel 335
12.5.5 树加载器TreeLoader 338
12.5.6 树编辑器TreeEditor 340
12.5.7 树排序TreeSorter 341
12.6 继承函数Ext.extend 343
12.7 组件功能扩展 344
12.8 使用插件扩展组件功能 346
12.9 自定义组件 348
12.9.1 文件上传表单字段组件 348
12.9.2 静态文本表单字段组件 352
12.10 其他非官方优秀组件 353
12.11 本章小结 355
第13章 ExtTLD 356
13.1 ExtTLD标签库基础 356
13.1.1 ExtTLD标签库获取 356
13.1.2 ExtTLD的部署 356
13.2 从Hello World学ExtTLD 357
13.3 实现FORM表单 358
13.3.1 简单表单字段示例 358
13.3.2 下拉框字段示例 360
13.4 实现GRID表格 362
13.4.1 gridExtTLD 简单表格示例 363
13.4.2 gridExtTLD 可编辑表格示例 364
13.4.3 gridExtTLD 分组表格示例 365
13.5 实现TREE树 366
13.5.1 简单tree示例 367
13.5.2 访问远程数据示例 367
13.6 本章小结 368
第14章 ExtJS与服务端框架的整合 369
14.1 XML与JSON的生成 369
14.1.1 XStream基础 369
14.1.2 JSON-lib简介 373
14.2 ExtJS与Struts的整合方式 375
14.3 ExtJS与Struts2的整合方式 379
14.3.1 Struts2生成JSON数据 379
14.3.2 Struts2生成XML数据 382
14.4 本章小结 383
第15章 ExtJS Web Portal 384
15.1 什么是Portal 384
15.2 现有Portal的实现技术 384
15.2.1 Pluto 384
15.2.2 Liferay 385
15.2.3 Jetspeed 385
15.2.4 eXo 386
15.2.5 JPortal 387
15.2.6 Ext Portal 387
15.3 Ext Portal的实现 388
15.3.1 Ext Portal的各种组件 389
15.3.2 Ext Portal的拖拽机制 404
15.3.3 Ext Portal的Column管理 407
15.3.4 Ext Portal的标签页的管理 408
15.3.5 Ext Portal的状态请求管理 412
15.3.6 Ext Portal的持久化管理 416
15.3.7 后台处理程序 426
15.3.8 Ext Portal的二次开发 436
15.4 本章小结 438
附录 439

教学资源推荐
作者: (美)Clovis L.Tondo,Scott E.Gimpel
作者: 王珊珊 臧洌 张志航 编著
作者: 李柏岩 尹枫 王洪亚 等编著
作者: Bruce Eckel
参考读物推荐
作者: 用友平台与数据智能团队 著
作者: Michael Wong  IBM XL编译器中国开发团队 著
作者: [美]詹姆斯·R.佩恩(James R. Payne) 著
作者: (美)Jeremy Alessi 著