1 开始 2
为什么要使用JavaServer Faces 3
软件安装 4
一个简单的示例 6
示例应用程序分析 11
可视化开发环境 17
JSF框架服务 19
内幕 21
使用Ant自动化创建过程 25
2 受管理的Bean 30
Bean的定义 31
消息包 34
示例程序 36
Backing Bean 42
Bean范围 43
配置bean 44
值绑定表达式的语法 50
3 导航 56
静态导航 57
动态导航 58
高级导航问题 67
4 标准的JSF标签 72
概述JSF核心标签 73
概述JSF HTML标签 75
表单 81
文本字段和文本区域 85
按钮和链接 94
选择标签 104
消息 128
面板 132
5 数据表格 138
数据表格标签 139
一个简单的表格 140
h:dataTable属性 143
标题和脚注 144
表格单元中的JSF组件 146
编辑表格单元 150
行和列的样式 153
表格模型 160
滚动技术 174
6 转换和验证 176
概述转换和验证过程 177
使用标准转换器 178
使用标准的验证器 186
编写自定义转换器和验证器 190
实现自定义标签 212
7 事件处理 232
生命周期事件 233
值变换事件 235
动作事件 240
事件监听器标签 247
即时组件 249
阶段事件 252
实践 259
8 子视图和Tiles 268
共同布局 269
图书浏览器和图书馆 269
图书浏览器 271
图书浏览器中的内容包含 280
图书馆 289
9 自定义组件 302
使用类来实现自定义组件 304
编码:产生标记 308
解码:处理请求值 311
实现自定义组件标签 316
再次回到微调控制器程序 325
编码JavaScript来避免服务器往返 342
使用子组件和Facets 346
10 外部服务 372
访问数据库 373
发送SQL语句 373
使用LDAP进行身份验证 387
管理配置信息 396
使用Web服务 424
11 无线客户端 436
移动客户端的呈现技术 437
MIDP基础 438
移动通讯和控制流 445
战舰游戏 455
12 如何实现 486
Web用户界面设计 487
验证 521
编程 536
调试和记录日志 546