标题：JavaServer Faces核心编程（第3版）
基本信息
  作者： (美)David Geary    Cay Horstmann
出版社：清华大学出版社
ISBN：9787302258391
出版日期：2011 年10月
版次：3-1
内容简介
《JavaServer Faces核心编程(第3版)》全面透彻地讲解JSF 2.0，指导您驾轻就熟地掌握JSF 2.0的卓越功能，旨在帮助您迅速吸收宝贵的JSF 2.0知识精髓，并得心应手地运用所有JSF 2.0新功能。本书全面介绍基本构件，呈现权威解决方案、提示、技巧和解答，助您在开发项目时高效使用JSF。无论您在GlassFish(或其他符合Java EE 6标准的应用服务器)上开发Java EE 6 Web应用程序，还在诸如Tomcat 6的Servlet运行器上开发程序，本书都堪称您的良师益友。
目录
第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式导航和书签
url jsf 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