內容簡介
《JavaServer Faces核心編程(第3版)》內容簡介:
JSF是用於構建
Web UI的標準
Java EE技術,受到全球Web開發人員的熱情
推崇。JSF提供高效靈活的
伺服器端應用程式開發
框架,真正實現了應用程式邏輯層與表示層的完美分離。作為具有里程碑意義的升級版本,JSF 2.0新增了多項強大實用的功能,引入便捷的Java批註,並遵循“慣例優先”原則執行常見任務,極大精簡了
編程模型。《Java Server Faces核心編程(第3版)》對上一版進行了全面更新,旨在幫助您迅速吸收寶貴的JSF2.0知識
精髓,並得心應手地運用所有JSF2.0新
功能。《JavaServer Faces核心編程(第3版)》主要內容如下:新增三章內容來介紹Facelets模板標籤、複合組件構建方法和Ajax應用程式開發方法。指引您用最少的
代碼構建可靠的應用程式,即使您不了解
servlet或其他底層技術知識也能高效編寫程式。全面介紹基本構件,如使用標準JSF標籤和數據表乃至轉換和驗證輸入。介紹多個高級主題,例如事件處理、擴展JSF框架以及連線到外部服務。提出解決各種常見問題的方案,包括調試和故障排除注意事項,以及JSF未涵蓋功能的實現細節和代碼。呈現權威解決方案、提示、技巧和解答,幫您在開發項目時高效使用JSF。
《JavaServer Faces核心編程(第3版)》全面透徹地講解JSF2.0,指導您駕輕就熟地掌握JSF 2.0的卓越功能。無論您是在Glassfish(或其他符合Java EE 6標準的套用伺服器)上開發Java EE 6Web應用程式,還是在諸如Tomcat 6的servlet運行器上開發程式,《JavaServer Faces核心編程(第3版)》都堪稱您的良師益友。
作者簡介
作者:(美國)吉爾里 (David Ceary) (美國)霍斯特曼 (Gay Horstmann) 譯者:王超
吉爾里,David Geary擔任Clarity Training諮詢和培訓公司總裁,迄今已撰寫了8本Java技術書籍,其中包括Prentice Hall出版的暢銷書籍Graphic JavaTM 2系列(1999)、Advanced JavaServer Pages(2001)和GoogleTM Web Toolkit Solutions(2008)等。David是JSF專家組和Java Champion的成員,他經常在多個軟體會議上發表重要演講,已三次榮膺JavaOne Rock Star稱號。
Cay Horstmann是Core Java, Volume I&II, Eight Edition(Prentice Hall,2008)的主要作者,是
聖何塞州立大學計算機科學系教授,也是Jav Champion成員,
經常在多個
計算機行業會議上發表重要演講。
目錄
第1章 jsf簡介 1
1.1 選用jsf的原因 1
1.2 一個簡單例子 2
1.2.1 組成部分 4
1.2.2 目錄結構 5
1.2.3 構建jsf應用程式 6
1.2.4 部署jsf應用程式 7
1.3 jsf開發環境 9
1.4 分析示例應用程式 11
1.4.1 bean 12
1.4.2 jsf頁面 13
1.4.3 servlet配置 14
1.5 簡單了解ajax jsf 2.0 17
1.6 jsf框架服務 19
1.7 技術內幕 21
1.7.1 呈現頁面 21
1.7.2 請求解碼 22
1.7.3 生命周期 23
1.8 小結 25
第2章 受管bean 27
2.1 bean的定義 27
2.1.1 bean屬性 29
2.1.2 值表達式 31
2.1.3 backing bean 31
2.2 cdi bean cdi 32
2.3 訊息包 33
2.3.1 具有可變部分的訊息 35
2.3.2 應用程式的區域設定 36
2.4 示例應用程式 37
2.5 bean作用域 42
2.5.1 會話作用域 43
2.5.2 請求作用域 44
2.5.3 應用程式作用域 45
2.5.4 對話作用域 cdi 45
2.5.5 視圖作用域 jsf 2.0 46
2.5.6 自定義作用域 jsf 2.0 46
2.6 配置bean 46
2.6.1 注入cdi bean cdi 46
2.6.2 注入受管bean jsf 2.0 47
2.6.3 bean生命周期批註 48
2.6.4 使用xml配置受管bean 48
2.7 表達式語言語法 52
2.7.1 左值和右值模式 53
2.7.2 使用方括弧 53
2.7.3 映射和列表表達式 54
2.7.4 調用方法和函式 jsf 2.0 55
2.7.5 解析初項 55
2.7.6 複合表達式 57
2.7.7 方法表達式 57
2.7.8 方法表達式參數 jsf 2.0 58
2.8 小結 59
第3章 導航 61
3.1 靜態導航 61
3.2 動態導航 62
3.2.1 將結果映射到視圖id 63
3.2.2 javaquiz應用程式 64
3.3 重定向 73
3.4 rest式導航和書籤urljsf 2.0 75
3.4.1 視圖參數 75
3.4.2 獲取請求連結 76
3.4.3 指定請求參數 76
3.4.4 將書籤連結添加到quiz應用程式中 78
3.5 高級導航規則 81
3.5.1 通配符 82
3.5.2 使用from-action 83
3.5.3 條件導航情形 jsf 2.0 84
3.5.4 動態目標視圖id jsf 2.0 84
3.6 小結 84
第4章 標準jsf標籤 85
4.1 jsf核心標籤概述 86
4.2 jsf html標籤概述 88
4.3 面板 96
4.4 標題、正文和表單標籤 98
4.5 文本欄位和文本區域 103
4.5.1 隱藏欄位 106
4.5.2 使用文本欄位和文本區域 106
4.5.3 顯示文本和圖像 108
4.6 按鈕和連結 111
4.6.1 使用按鈕 113
4.6.2 使用命令連結 117
4.7 選擇標籤 120
4.7.1 複選框和單選按鈕 123
4.7.2 選單和列表框 125
4.7.3 項目 127
4.8 訊息 143
4.9 小結 148
第5章 facelets jsf 2.0 149
5.1 facelets標籤 149
5.2 facelets模板 150
5.2.1 使用公共模板生成頁面 152
5.2.2 組織視圖 155
5.2.3 裝飾器 160
5.2.4 參數 162
5.3 自定義標籤 162
5.4 其他標籤 165
5.4.1 [ui:debug] 165
5.4.2 [ui:remove] 167
5.4.3 處理空白 168
5.5 小結 168
第6章 數據表 169
6.1 數據表標籤——h:datatable 169
6.2 一個簡單的表 170
6.2.1 h:datatable特性 173
6.2.2 h:column特性 174
6.3 列頭、列尾和標題 174
6.4 樣式 177
6.4.1 列樣式 178
6.4.2 行樣式 179
6.5 表中的jsf組件 181
6.6 編輯表格 183
6.6.1 編輯表格單元格 184
6.6.2 刪除行 jsf 2.0 186
6.7 資料庫表 189
6.8 表模型 193
6.8.1 呈現行號 193
6.8.2 查找所選行 194
6.8.3 排序和過濾 195
6.9 滾動技術 202
6.9.1 用滾動條滾動 202
6.9.2 用分頁器小組件滾動 203
6.10 小結 203
第7章 轉換和驗證 205
7.1 轉換和驗證過程概述 205
7.2 使用標準轉換器 206
7.2.1 數字和日期的轉換 206
7.2.2 轉換錯誤 210
7.2.3 一個完整的轉換器例子 215
7.3 使用標準驗證器 218
7.3.1 驗證字元串長度和值範圍 218
7.3.2 檢查必需值 219
7.3.3 顯示驗證錯誤 220
7.3.4 跳過驗證 222
7.3.5 一個完整的驗證例子 222
7.4 bean驗證 jsf 2.0 225
7.5 使用自定義轉換器和驗證器編程 230
7.5.1 實現自定義轉換器類 230
7.5.2 指定轉換器 jsf 2.0 233
7.5.3 報告轉換錯誤 234
7.5.4 從資源包中獲取錯誤訊息 235
7.5.5 自定義轉換器示例程式 239
7.5.6 為轉換器提供特性 242
7.5.7 實現自定義驗證器類 243
7.5.8 註冊自定義驗證器 243
7.5.9 使用bean方法驗證 247
7.5.10 驗證多個組件之間的關係 247
7.6 實現自定義轉換器和驗證器標籤 249
7.7 小結 255
第8章 事件處理 257
8.1 事件和jsf生命周期 258
8.2 值更改事件 259
8.3 動作事件 263
8.4 事件監聽器標籤 269
8.5 直接組件 270
8.5.1 使用直接輸入組件 271
8.5.2 使用直接命令組件 272
8.6 從ui向伺服器傳遞數據 273
8.6.1 方法表達式參數 jsf 2.0 274
8.6.2 f:param標籤 275
8.6.3 f:attribute標籤 275
8.6.4 f:setpropertyactionlistener標籤 276
8.7 階段事件 277
8.8 系統事件 jsf 2.0 278
8.8.1 多組件驗證 280
8.8.2 在呈現視圖之前做出決定 281
8.9 合為一體 285
8.10 小結 291
第9章 複合組件 293
9.1 複合標籤庫 294
9.2 使用複合組件 295
9.3 實現複合組件 297
9.4 配置複合組件 298
9.5 特性類型 299
9.6 必需的特性和默認特性值 299
9.7 處理伺服器端數據 301
9.8 複合組件的本地化 303
9.9 公開複合組件 304
9.10 facet 308
9.11 子組件 309
9.12 javascript 310
9.13 支持組件 315
9.14 在jar中打包複合組件 323
9.15 小結 323
第10章 ajax jsf 2.0 325
10.1 ajax和jsf 326
10.2 jsf生命周期和ajax 327
10.3 jsf ajax方法 328
10.4 f:ajax標籤 329
10.5 ajax組 331
10.6 ajax欄位驗證 333
10.7 ajax請求監視 334
10.8 javascript名稱空間 336
10.9 處理ajax錯誤 338
10.10 ajax回響 338
10.11 jsf 2.0 javascript庫 341
10.12 傳遞額外的ajax請求參數 342
10.13 事件佇列 344
10.14 合併事件 344
10.15 截獲jsf.ajax.request() 345
10.16 在複合組件中使用ajax 346
10.17 小結 351
第11章 自定義組件 353
11.1 實現組件類 354
11.2 編碼:生成標記 357
11.3 解碼:處理請求值 359
11.4 標籤庫描述符 jsf 2.0 365
11.5 使用外部呈現器 368
11.6 處理標籤特性 jsf 2.0 371
11.6.1 支持值更改監聽器 372
11.6.2 支持方法表達式 373
11.6.3 事件佇列 374
11.6.4 示例應用程式 375
11.7 javascript編碼 382
11.8 使用子組件和facet 385
11.8.1 處理selectitem子組件 388
11.8.2 處理facet 389
11.8.3 使用隱藏欄位 390
11.9 保存和還原狀態 396
11.10 構建ajax組件 jsf 2.0 400
11.11 在自定義組件中實現獨立的ajax 401
11.12 小結 410
第12章 外部服務 411
12.1 使用jdbc訪問資料庫 411
12.1.1 發出sql語句 411
12.1.2 連線管理 413
12.1.3 消除連線泄漏問題 413
12.1.4 使用預定義語句 415
12.1.5 事務 416
12.1.6 使用derby資料庫 417
12.2 配置數據源 418
12.2.1 訪問容器管理的資源 418
12.2.2 在glassfish中配置資料庫資源 419
12.2.3 在tomcat中配置資料庫資源 421
12.2.4 一個完整的資料庫例子 422
12.3 使用java持久性架構 429
12.3.1 jpa簡介 429
12.3.2 在web應用程式中使用jpa 430
12.3.3 使用受管bean和無狀態會話bean 434
12.3.4 有狀態會話bean cdi 437
12.4 容器管理的身份驗證和授權 440
12.5 傳送郵件 450
12.6 使用web服務 456
12.7 小結 462
第13章 問答 463
13.1 如何找到更多組件 463
13.2 如何支持檔案上傳 464
13.3 如何顯示圖像映射 471
13.4 如何在jsf頁面中生成二進制數據 473
13.5 如何以一次一個頁面的方式顯示大型數據集 482
13.6 如何生成一個彈出視窗 487
13.7 如何酌情顯示和隱藏頁面部分 494
13.8 如何自定義錯誤頁面 495
13.9 如何編寫自己的客戶端驗證標籤 500
13.10 如何配置應用程式 506
13.11 如何擴展jsf表達式語言 507
13.12 如何在jsf表達式語言中添加函式 jsf 2.0 510
13.13 如何監視瀏覽器和伺服器之間的流量 511
13.14 如何調試問題頁面 513
13.15 當開發jsf應用程式時如何使用測試工具 514
13.16 如何結合使用jsf和scala 515
13.17 如何結合使用jsf和groovy 516
13.18 小結 517