标题：JavaServer Faces核心编程
基本信息
  JavaServer Faces核心编程作者：吉尔里(David Ceary)(作者), 霍斯特曼(Gay Horstmann)(作者), 王超(译者)
出版社: 清华大学出版社; 第1版 (2011年10月1日) 
外文书名: Core JavaServer Faces (3rd Edition) 
平装: 517页 
正文语种: 简体中文 
开本: 16 
ISBN: 9787302258391 
条形码: 9787302258391 
商品尺寸: 25.8 x 18.4 x 2.6 cm 
商品重量: 962 g
内容简介
《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