平装: 517页 开本: 16
目录
第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 |