圖書信息
作 者:郭 鋒 等編著
出 版 社: 電子工業出版社
ISBN 978-7-121-10435-0
出版時間: 2010-3-1
頁 數:476頁
開 本: 16開
定價:59.00元(含CD光碟1張)
宣傳語
一線人員,為您展示Ext JS Web開發的獨特魅力!
內 容 簡 介
本書是筆者在多年項目開發過程中的經驗總結,它通過豐富的實例由淺入深、循序漸進地介紹了目前採用Ext JS進行Web開發的使用方法,從而幫助軟體設計人員快速掌握Ext JS開發技術的使用方法,並能將其套用於實戰中。
通過本書的學習,讀者可以了解到Ext JS的使用方法,熟練掌握如何運用這些技術來幫助前台界面設計人員進行開發。為了幫助眾多初學者快速掌握Ext JS的開發方法,筆者精心編著了本書。它是筆者在多年項目實踐中的經驗總結。本書首先對Ext JS進行了概述,然後通過一個簡單的示例帶領讀者快速入門,在讀者對Ext JS有了初步印象後,又重點介紹了JavaScript的面向對象技術、Ext JS API文檔的使用方法、Ext JS的開發流程,然後按照Ext JS的開發順序,首先講解了頁面的布局設定,接著詳細講解了各種常用組件的使用方法,並對實際開發中常用的畫面場景進行了總結,最後通過完整的示例演示了Ext JS+REST+Spring+Hibernate的整合方案。
本書適用於初、中、高級軟體設計人員,同時也可用做高校相關專業師生和社會培訓班的教材,但在閱讀本書前,需要讀者掌握JavaScript的基礎知識。
前 言
當開發人員厭倦採用JSP作為前台技術進行Web開發,而其他相應的前台技術比如JSF等並不成熟時,Ext JS出現了,它迅速成為前台頁面開發技術的主流,緊接著REST也異軍突起,因此,Ext JS+REST+Spring+Hibernate的組合成了採用Java進行Web開發的主要技術。
目前,市場上雖然也有講解Ext JS的書籍,但大多是對Ext JS一些組件的屬性、方法、事件的簡單羅列,其實這些內容通過查看Ext JS本身提供的API文檔即可獲知,導致讀者即便是看完了一本書,也並不能馬上進行開發。本書在編排上並不會對Ext JS簡單列出組件的屬性、方法、事件,而是通過一個個示例,力爭使讀者讀完本書後,不用再看其他書籍,即可進入Ext JS項目開發的實戰。
本書有何特點
(1)由易到難、通俗易懂:本書從最基本的JavaScript面向對象技術講起,這是掌握Ext JS的必備基礎,只有掌握了最基本的JavaScript面向對象技術,才能真正掌握好Ext JS,在講解各種組件的使用方法時,我們將通過簡單的示例來演示各種組件的使用方法。
(2)技術涵蓋廣:本書講解了Ext JS的大部分常用組件,比如表單、表格、樹、AJAX和數據存儲等,這些組件都是日常開發能夠用到的。
(3)不是簡單的API羅列:為了讓讀者真正快速地掌握Ext JS的開發技術,本書沒有對Ext JS常用的API進行簡單羅列,而是通過實際的套用場景讓讀者一步一步地掌握這些屬性、方法和事件的使用方法。
(4)最新的技術組合:本書最後講解了Ext JS+REST+Spring+Hibernate的組合,這是目前開源領域最新的技術組合。
(5)案例豐富,實戰性強:每一個案例都是筆者在實際項目開發過程中使用過的,非常具有典型性。
本書包括的內容
本書從大的方面講主要包含3部分內容。
第一部分首先對Ext JS相關基礎知識進行介紹,然後帶領讀者搭建Ext JS的開發環境,並快速實現Ext JS的入門。
第二部分首先對JavaScript的面向對象技術進行了簡單講解,因為這是掌握Ext JS的基礎,接著按照Ext JS的開發順序,先講解Ext JS的整體框架、開發模式,接著詳細講解了它的布局、表單組件、表格組件、樹形組件、視窗組件、工具列和選單欄組件以及Ext JS在AJAX方面的套用,然後講解了REST的相關知識,最後通過對Ext JS的封裝,從而提高開發人員的開發效率。
第三部分通過對部落格管理系統和工時統計管理系統示例的講解,詳細演示了Ext JS+REST+Spring+Hibernate的組合方式,從而使讀者通過本書的學習,馬上可以進行項目實戰。
適合閱讀本書的讀者
本書具有技術涵蓋廣、案例豐富、實戰性強、通俗易懂的特點,力求以通俗的語言及豐富的實例來指導讀者透徹掌握如何將目前流行的Ext JS、REST、Spring2、JPA等技術運用在實際的程式開發中,但本書主要是對Ext JS進行講解,如果讀者想要了解REST、Spring2、JPA的相關知識,需要參考相應的書籍,本書適用於初、中、高級軟體設計人員,同時也可用做高校相關專業師生和社會培訓班的教材,但在閱讀本書前,需要讀者掌握JavaScript的基礎知識。
本書作者
本書主要由郭鋒編寫,其他參與編寫的人員有昊燃、方振宇、陳冠佐、傅奎、陳勤、梁洋洋、畢夢飛、陳慶、柴相花、陳非凡、陳華、陳嵩、承卓、陳先在。在此表示感謝!
作 者
2010年1月
目 錄
第一篇 Ext JS相關知識介紹
第1章 Ext JS介紹2
1.1 Ext JS概述2
1.1.1 Ext JS的起源2
1.1.2 Ext JS的許可協定4
1.1.3 Ext JS的套用示例4
1.2 Ext JS與AJAX9
1.2.1 XMLHttpRequest技術9
1.2.2 JavaScript(Java腳本語言)11
1.2.3 DOM(文檔對象模型)13
1.2.4 CSS(樣式表)14
1.2.5 XML14
1.3 與Ext JS同類的AJAX框架15
1.3.1 Prototype16
1.3.2 Dojo16
1.3.3 DWR18
1.3.4 GWT19
1.3.5 Ext JS與上述框架的區別19
1.4 小結20
第2章 Ext JS快速入門21
2.1 建立Ext JS開發環境21
2.1.1 下載Ext JS21
2.1.2 下載Eclipse24
2.1.3 下載並整合Ext JS的開發工具spket25
2.1.4 下載Ext JS的調試工具FireBug29
2.2 使用JavaScript實現HelloWorld的示例32
2.3 使用Ext JS實現HelloWorld的示例33
2.3.1 編寫HTML頁面myHelloWorld.htm33
2.3.2 引入Ext JS類庫34
2.3.3 運行調試Ext JS34
2.4 小結34
第二篇 Ext JS技術詳解
第3章 JavaScript面向對象技術36
3.1 為什麼要先講JavaScript36
3.2 JavaScript的自定義函式42
3.2.1 函式的定義42
3.2.2 函式的使用43
3.3 JavaScript的面向對象編程43
3.3.1 一切皆是對象43
3.3.2 prototype原型對象44
3.3.3 如何實現類的繼承45
3.4 如何模仿Java類庫的引入機制實現JS檔案的引入45
3.5 JavaScript操作DOM示例46
3.6 小結57
第4章 Ext JS框架58
4.1 Ext JS類庫58
4.1.1 Ext JS類結構58
4.1.2 Ext.extend介紹59
4.1.3 Ext.apply介紹68
4.1.4 Ext.onReady介紹69
4.2 Ext JS組件70
4.2.1 Ext JS組件結構70
4.2.2 Ext.Component介紹72
4.2.3 Ext.ViewPort介紹73
4.2.4 Ext.Panel介紹75
4.3 Ext JS API文檔使用指南76
4.3.1 Ext JS API文檔結構76
4.3.2 如何使用Ext JS API文檔77
4.4 小結85
第5章 Ext JS開發模式86
5.1 程式規劃86
5.1.1 設計HTML檔案86
5.1.2 設計對應的JS檔案87
5.2 使用Ext.onReady函式95
5.2.1 創建命名空間95
5.2.2 自定義函式95
5.3 確定頁面布局97
5.4 使用組件98
5.5 與後台進行互動100
5.6 小結101
第6章 Ext JS布局102
6.1 Ext JS的布局方式102
6.2 Border布局106
6.3 Fit布局110
6.4 accordion布局111
6.5 Form布局115
6.6 Column布局116
6.7 Card布局120
6.8 Table布局121
6.9 小結124
第7章 表單組件125
7.1 Form表單簡介125
7.1.1 Form表單的基本屬性125
7.1.2 Ext JS對Form表單的封裝128
7.2 Ext JS的表單組件132
7.2.1 文本輸入134
7.2.2 多行文本輸入136
7.2.3 單選框138
7.2.4 複選框139
7.2.5 下拉列表141
7.2.6 日期元件141
7.3 Ext JS表單組件的使用142
7.4 小結147
第8章 表格組件148
8.1 Table表格簡介148
8.1.1 Table表格的基本屬性148
8.1.2 Ext JS對Table表格的封裝150
8.2 Ext JS的表格元件152
8.2.1 常用配置152
8.2.2 常用事件154
8.3 Ext JS表格組件套用示例154
8.3.1 合理劃分JS檔案154
8.3.2 定義表格組件155
8.4 採用表格組件展示數據161
8.5 小結169
第9章 表格組件的擴充170
9.1 可編輯表格組件的繼承模型170
9.2 Ext JS可編輯表格組件的使用171
9.3 實現分頁功能174
9.3.1 使用GridPanel展現數據174
9.3.2 為store配置proxy用於動態請求分頁數據175
9.3.3 使用PagingToolbar實現分頁工具列175
9.4 實現分組功能176
9.4.1 配置GroupStore176
9.4.2 配置GroupView176
9.5 表格組件擴充綜合示例179
9.6 小結185
第10章 樹形組件186
10.1 樹形組件介紹186
10.2 如何使用樹形組件187
10.2.1 創建樹的節點187
10.2.2 定義單擊事件188
10.3 樹形組件的擴充190
10.3.1 可以多選的樹形組件190
10.3.2 可以顯示更多信息的樹形組件191
10.3.3 可以拖動的樹形組件192
10.4 樹形組件綜合示例194
10.5 小結203
第11章 視窗組件204
11.1 JavaScript的彈出對話框204
11.1.1 alert204
11.1.2 prompt205
11.1.3 confirm205
11.1.4 open206
11.2 Ext JS的彈出對話框208
11.2.1 MessageBox208
11.2.2 各種對話框的使用方法212
11.3 Ext.window的使用方法216
11.4 小結218
第12章 工具列與選單欄組件219
12.1 工具列組件介紹219
12.2 如何使用工具列組件222
12.2.1 添加按鈕事件的工具列222
12.2.2 創建帶分隔條的工具列223
12.3 選單欄組件介紹224
12.4 如何使用選單欄組件231
12.5 小結232
第13章 AJAX套用與數據互動233
13.1 Ext.Ajax233
13.2 Ext.data.Store237
13.2.1 存儲數據237
13.2.2 更新數據238
13.3 Ext.data.Reader239
13.3.1 Ext.data.ArrayReader240
13.3.2 Ext.data.JsonReader242
13.3.3 Ext.data.XmlReader243
13.4 小結245
第14章 REST介紹246
14.1 基礎知識概述246
14.1.1 HTTP簡介246
14.1.2 REST簡介247
14.1.3 JSR 311規範簡介247
14.1.4 Jersey簡介248
14.2 REST開發示例248
14.2.1 資源類的命名規則249
14.2.2 URI接口組織規則249
14.2.3 示例URI接口的定義250
14.2.4 Resource類的編寫250
14.2.5 統一異常處理類的編寫251
14.3 Jersey項目的部署252
14.3.1 包結構規範252
14.3.2 部署檔案(web.xml)設定說明及運行252
14.4 Jersey的常用annotation表253
14.5 Jersey的使用示例254
14.6 小結261
第15章 封裝Ext JS提高開發速度262
15.1 完整的Ext JS開發流程262
15.1.1 定義畫面的組成262
15.1.2 定義數據模型263
15.1.3 確定頁面組件的相互引用264
15.1.4 確定前後台的數據互動265
15.2 設計通用的工具類265
15.2.1 全局變數類Global.js266
15.2.2 工具類Util.js276
15.3 擴展Ext JS的組件功能278
15.3.1 表單補丁類279
15.3.2 表格補丁類280
15.4 定義常見的套用場景282
15.4.1 單筆crud場景282
15.4.2 主從畫面場景298
15.4.3 樹形結構場景315
15.5 小結323
第三篇 AJAX整合實踐
第16章 Ext3+REST+Spring2+ Hibernate3整合方案326
16.1 部落格管理系統簡介326
16.1.1 部落格管理系統功能介紹326
16.1.2 架構設計330
16.2 Spring簡介331
16.2.1 Spring的核心思想332
16.2.2 Spring的下載配置333
16.3 Hibernate簡介336
16.3.1 Hibernate介紹336
16.3.2 JPA的關係映射342
16.3.3 Ext JS、Jersey、Hibernate與Spring的整合344
16.4 部落格管理系統示例353
16.4.1 持久層模型設計354
16.4.2 添加部落格類別功能的實現364
16.4.3 發布部落格功能的實現366
16.4.4 Resources模型設計367
16.4.5 管理部落格類別的畫面設計370
16.4.6 發布部落格內容的畫面設計377
16.4.7 瀏覽部落格內容的畫面設計385
16.4.8 編寫配置檔案386
16.4.9 程式演示388
16.5 小結391
第17章 工時統計管理系統392
17.1 工時統計系統簡介392
17.1.1 工時統計系統功能簡介392
17.1.2 採用REST進行架構組合393
17.2 持久層模型設計400
17.2.1 設計數據模型400
17.2.2 設計DAO模型406
17.3 業務邏輯模型設計410
17.3.1 工時大類業務邏輯410
17.3.2 工時細分類業務邏輯412
17.3.3 工時填寫業務邏輯415
17.3.4 工時細項填寫業務邏輯417
17.4 Resources模型設計420
17.4.1 工時大類Resources420
17.4.2 工時細分類Resources423
17.4.3 工時填寫Resources425
17.5 前台畫面設計428
17.5.1 設計工時類別畫面429
17.5.2 設計工時填寫畫面444
17.6 編寫配置檔案454
17.7 運行演示程式457
17.8 小結460