
|
|
|
|
|
|
| 作者 |
: |
伯恩斯
|
| ISBN |
: |
9787115160188
|
| 开本 |
: |
16开
|
| 出版社 |
: |
人民邮电
|
| 出版日期 |
: |
2007-6-1
|
| NT$ |
: |
941
|
|
|
|
|
配送说明: 国际快递 , 海运邮递 。
付款说明: 1. VISA、MASTER線上刷卡 2. 信用卡传真刷卡付款 3.
邮政划拨 4. 银行汇款
|
|
|
|
|
 |
| |
JavaServer Faces是构建Web应用程序用户界面的标准Java框架,其优势在于简化了用户界面的开发,而用户界面开发通常是Web应用程序开发中较为困难和烦琐的部分。本书全面介绍了与JavaServer Faces相关的完整技术集和编程方法,并介绍了应用程序安全、自动测试、调试,常见Java IDE,AJAX、表达式语言、本地化和国际化、访问性、应用程序框架,以及视图与业务逻辑的分离等相关内容。另外书中还提供了大量的组件、元素和标签参考内容。 .
|
本书内容翔实,通过概念和简单示例结合的统一方式提供了JavaServer Faces的相关基础知识,同时用一个虚拟教练应用程序示例贯穿本书后面的部分,随着内容的深入逐步提供更多高级的信息。本书适合于具有各级经验的广大读者阅读,包括具有中级Web开发经验的开发人员和高级企业Java架构师。
|
使用JavaServer Faces(JSF)和这本一站式的指南,可实现功能丰富并且跨浏览器的Internet应用程序。编写本书的专家直接参与了这项重要技术的开发,书中全面介绍了JSF的所有方面。
|
本书首先简要介绍了相关内容,这样就可迅速获得并运行首个JSF应用程序。然后深入介绍JSF的每个方面,包括请求处理生命周期、页面导航、组件开发、AJAX、验证、国际化和安全。..
|
■全面介绍了JSF的生命周期、托管bean、表达式语言(EL)、Faces事件、用户界面组件和导航模型;
|
■使用转换器和验证器转换并处理来自完全不同源的数据的技巧;
|
■完整集成的示例应用程序,可用作您自己JSF应用程序的模型,同时在线提供了代码;
|
■有关如何使用Hibernate将JSF集成到产品质量数据库中的说明;
|
■详细介绍如何构建支持AJAX的定制用户界面组件,并提供大量示例;
|
■说明如何扩展Faces,即构建从验证器和转换器到NavigationHandler和ViewHandler的定制非用户界面组件;
|
■对JSF应用程序进行调试以及开发自动软件测试的技巧;
|
■大量介绍第三方Faces技术,包括MyFaces、ADFFaces、Facelets、Shale和支持Faces的IDE;
|
| ■详细介绍使用JSF实现安全性(使用JAAS)、可访问性、国际化和本地化。... |
|
|
|
|
|
|
 |
| |
| 1.2.5 JavaServerFaces的诞生 6 |
| 1.3 JavaServerFaces设计目标 7 |
| 1.4 JSF——“企业”开发人员和“系统”开发人员共同的框架 8 |
| 第2章 构建一个简单的JavaServerFaces应用程序 14 |
| 2.2.2 安装Tomcat或符合J2EE规范的应用程序服务器 30 |
| 第3章 JavaServerFaces请求处理生命周期 34 |
| 3.1.2 请求处理生命周期与其他Web技术的区别 35 |
| 4.1.3 直接把List和Map声明为托管bean 56 |
| 4.3.1 JSF1.1和JSF1.2之间表达式语言的重要变化 60 |
| 4.4 托管bean的Web应用程序开发细节 67 |
| 4.4.2 用托管bean作为JSF页面的支撑bean 69 |
| 5.1.2 NavigationHandler——幕后主管 75 |
| 5.3.3 把导航规则放在faces-config.xml之外 84 |
| 6.1.2 JavaServerFaces用户界面组件的目标 88 |
| 6.2.2 用户界面组件和相关的“活动部分” 94 |
| 6.3.2 在JSP中绑定用户界面组件的有用建议 98 |
| 7.3.1 DateTimeConverter 108 |
| 7.3.2 NumberConverter 109 |
| 7.3.3 把转换器与UIComponent实例关联 109 |
| 7.4.1 LongRangeValidator 121 |
| 7.4.2 DoubleRangeValidator 121 |
| 7.4.3 LengthValidator 122 |
| 7.4.5 如何把验证器与UIComponent实例关联 122 |
| 7.4.6 使用JSP把验证器与UIComponent实例关联 123 |
| 7.4.7 用JSP和验证器属性把验证器与UIComponent实例关联 123 |
| 7.4.8 用编程方式把验证器与UIComponent实例关联 124 |
| 7.5.1 FacesContext上与FacesMessage相关的方法 127 |
| 7.5.2 UIViewRoot及其Locale属性 129 |
| 7.5.3 何时.如何创建FacesMessage实例,并把它添加到FacesContext 129 |
| 8.2.1 Faces事件侦听器接口和事件类 136 |
| 8.2.4 在Faces生命周期中提前处理动作事件 139 |
| 9.1.4 以在线教练身份登录并更新事件练习评价 161 |
| 9.4.4 回顾JSFReg——构建注册系统 173 |
| 9.4.5 构建虚拟教练应用程序的浏览和编辑页面 178 |
| 9.4.6 在dataTable上使用定制滚动器组件 183 |
| 9.4.7 在dataTable中选择和编辑单行 185 |
| 9.5.2 在Faces中实现Web层排序 201 |
| 10.4.1 构建HtmlHelloWorld示例 220 |
| 10.4.2 接受表单输入的HelloWorld用户界面组件 227 |
| 10.6 带有多个渲染器的InputDate组件 232 |
| 10.6.2 InputDate组件背后的代码 233 |
| 10.6.3 HtmlInputDateRenderer 234 |
| 10.6.4 InputDate的WML变体 242 |
| 10.9 在定制JSF组件中使用JavaScript——滚动条示例 254 |
| 10.9.1 使用高级JavaScript的挑战 254 |
| 10.9.3 添加必需的JavaScript库 260 |
| 10.10.1 把HtmlHelloInput用户界面组件升级成使用方法绑定 261 |
| 10.10.2 把HtmlHelloWorld和HtmlHelloInputMB组件升级到JSF1.2 264 |
| 10.10.3 把JSF1.2HtmlHelloWorldMB组件修改成使用方法表达式 266 |
| 10.11 把JSF组件打包成自包含的JAR 269 |
| 10.12 JSF组件包示例:components.jar 270 |
| 11.1.1 为什么大家都对AJAX感兴趣 279 |
| 11.1.2 为什么JSF和AJAX是天作之合 279 |
| 11.2.2 把XMLHttpRequest用于HTML 282 |
| 11.3 DirectorySearch——没有JSF的第一个AJAX示例 283 |
| 11.3.1 纯AJAX版DirectorySearch的架构 283 |
| 11.3.2 纯AJAX版DirectorySearch的问题 288 |
| 11.4.1 在JSF中的AJAX系统高级元素 288 |
| 11.4.2 AJAXDirectorySearchJSF组件 290 |
| 11.4.3 AJAXSpellCheckJSF组件 295 |
| 11.6 AJAXXMLHttpRequest参考 311 |
| 12.1 JSF中的非用户界面定制组件和装饰 312 |
| 12.2.4 VariableResolver和PropertyResolver 318 |
| 12.2.5 ELResolver(JSF1.2) 321 |
| 12.2.6 NavigationHandler 330 |
| 12.2.7 ActionListener 331 |
| 第13章 其他视图描述技术和Facelets 351 |
| 13.2 ViewHandler与JSF系统其余部分的关系 352 |
| 13.2.1 ViewHandler.RenderKit与视图构造行为之间的关系 353 |
| 13.2.2 ViewHandler与状态管理系统的关系 353 |
| 13.3 如何构建和安装定制ViewHandler 354 |
| 13.3.1 为定制ViewHandler使用装饰 355 |
| 13.3.2 编写定制ViewHandler的一般考虑 358 |
| 13.4.2 JSP与Facelets之间的相似点和区别 360 |
| 13.4.3 Facelets中的Taglib 361 |
| 13.4.4 实现FaceletsTaglib 362 |
| 13.4.5 使用Faceletstaglib 364 |
| 13.4.6 用Facelets进行模板化 365 |
| 13.4.7 Facelets模板标签指南 368 |
| 13.4.8 Facelets非模板标签指南 371 |
| 13.5 Facelets的设计.架构和实现 372 |
| 第14章 JavaServerFaces的本地化与访问性 379 |
| 14.1.1 JavaServerFaces本地化工具提供的益处 379 |
| 14.1.3 Faces本地化和国际化背后的细节 385 |
| 14.2.2 JSF应用程序提供访问性的准则 391 |
| 14.2.3 给非文本内容提供一个文本等价物 392 |
| 14.2.6 使页面特性新技术能平滑地转换 393 |
| 14.2.7 确保用户能控制时间敏感内容的变化 393 |
| 第15章 JavaServerFaces应用程序的安全性 395 |
| 15.1 Web应用程序安全性涉及的方面和实现 395 |
| 15.3 用JavaServerFaces实现应用程序管理的安全性 407 |
| 15.3.3 PhaseListener和授权 413 |
| 15.4 实现“RememberMe”特性 415 |
| 15.4.1 RememberMeLoginComponent:生命周期和状态管理 416 |
| 15.4.2 RememberMeLoginComponent:渲染行为 420 |
| 15.4.3 RememberMeLoginComponent:属性 424 |
| 15.4.4 RememberMeLoginTag 425 |
| 15.4.5 RememberMePhaseListener 427 |
| 第16章 JavaServerFaces应用程序的自动测试和调试 439 |
| 16.2.1 JUnit:Java平台最流行的自动测试技术 443 |
| 16.2.2 Cactus:服务器端的自动单元测试 447 |
| 16.2.3 HTMLUnit:测试虚拟教练应用程序的流程 449 |
| 16.2.4 JSF应用程序的加载测试和分析 451 |
| 16.3.1 不用源代码级调试器调试JSF应用程序 459 |
| 16.3.2 用java.util.logging工具记录日志 459 |
| 16.3.3 用JakartaCommonsLogging工具记录日志 461 |
| 16.3.4 其他JSF应用程序非调试器调试技术 464 |
| 16.3.5 用Eclipse进行源代码级调试 465 |
| 16.3.6 用NetBeans进行源代码级调试 467 |
| 16.3.7 用OracleJDeveloper调试JSFJSP 469 |
| 第17章 使用可视化开发环境开发JSF应用程序 475 |
| 17.2 SunJavaStudioCreator 476 |
| 17.2.1 熟悉JavaStudioCreator 477 |
| 17.2.2 在StudioCreator中构建简化版虚拟教练应用程序 479 |
| 17.3 BEAWorkshopStudio 483 |
| 17.3.1 熟悉BEAWorkshopStudio 483 |
| 17.3.2 构建简化版JSF教练应用程序 484 |
| 17.4 OracleJDeveloper10g 486 |
| 17.4.2 使用Oracle的ADF框架 495 |
| 17.5 IBMRationalWebDeveloper 499 |
| 17.5.1 熟悉IBMRationalWebDeveloper 500 |
| 17.5.2 构建简化版JSF教练应用程序 501 |
| 17.6.1 熟悉ExadelStudioPro 506 |
| 17.6.2 创建简化版JSF教练应用程序 507 |
| 第18章 JavaServerFaces配置文件 513 |
| 18.4.1 Action-listener元素 521 |
| 18.4.3 Application-factory元素 522 |
| 18.4.5 Attribute-class元素 525 |
| 18.4.6 Attribute-name元素 526 |
| 18.4.9 Component-class元素 529 |
| 18.4.10 Component-family元素 529 |
| 18.4.11 Component-type元素 530 |
| 18.4.13 Converter-class元素 532 |
| 18.4.14 Converter-for-class元素 532 |
| 18.4.15 Converter-id元素 533 |
| 18.4.16 Default-locale元素 534 |
| 18.4.17 Default-render-kit-id元素 535 |
| 18.4.18 Default-value元素 536 |
| 18.4.19 El-resolver元素 537 |
| 18.4.20 Faces-config元素 538 |
| 18.4.21 Faces-context-factory元素 539 |
| 18.4.25 From-action元素 542 |
| 18.4.26 From-outcome元素 543 |
| 18.4.27 From-view-id元素 544 |
| 18.4.31 Lifecycle-factory元素 547 |
| 18.4.32 List-entries元素 548 |
| 18.4.33 Locale-config元素 549 |
| 18.4.34 Managed-bean元素 550 |
| 18.4.35 Managed-bean-class元素 551 |
| 18.4.36 Managed-bean-name元素 552 |
| 18.4.37 Managed-bean-scope元素 553 |
| 18.4.38 Managed-property元素 554 |
| 18.4.39 Map-entries元素 555 |
| 18.4.41 Message-bundle元素 557 |
| 18.4.42 Navigation-case元素 558 |
| 18.4.43 Navigation-handler元素 559 |
| 18.4.44 Navigation-rule元素 560 |
| 18.4.46 Phase-listener元素 563 |
| 18.4.48 Property-class元素 565 |
| 18.4.49 Property-name元素 566 |
| 18.4.50 Property-resolver元素 567 |
| 18.4.52 Referenced-bean元素 568 |
| 18.4.53 Referenced-bean-class元素 569 |
| 18.4.54 Referenced-bean-name元素 570 |
| 18.4.56 Render-kit-class元素 571 |
| 18.4.57 Render-kit-factory元素 572 |
| 18.4.58 Render-kit-id元素 573 |
| 18.4.60 Renderer-class元素 575 |
| 18.4.61 Renderer-type元素 576 |
| 18.4.62 Resource-bundle元素 576 |
| 18.4.63 State-manager元素 577 |
| 18.4.64 Suggested-value元素 578 |
| 18.4.65 Supported-locale元素 579 |
| 18.4.68 Validator-class元素 582 |
| 18.4.69 Validator-id元素 582 |
| 18.4.71 Value-class元素 585 |
| 18.4.73 Variable-resolver元素 588 |
| 18.4.74 View-handler元素 588 |
| 18.7 使用FacesConsole编辑配置文件 591 |
| 19.3.2 actionListener标签 596 |
| 19.3.4 convertDateTime标签 597 |
| 19.3.5 convertNumber标签 598 |
| 19.3.10 phaseListener标签(仅限1.2) 602 |
| 19.3.12 selectItems标签 603 |
| 19.3.13 setPropertyActionListener标签(仅限1.2) 604 |
| 19.3.15 validateDoubleRange标签 607 |
| 19.3.16 validateLength标签 607 |
| 19.3.17 validateLongRange标签 608 |
| 19.3.19 valueChangeListener标签 610 |
| 19.4.2 commandButton组件 615 |
| 19.4.6 graphicImage组件 623 |
| 19.4.10 inputTextarea组件 629 |
| 19.4.13 outputFormat组件 634 |
| 19.4.14 outputLabel组件 635 |
| 19.4.19 selectBooleanCheckbox组件 641 |
| 19.4.20 selectManyCheckbox组件 643 |
| 19.4.21 selectManyListbox组件 645 |
| 19.4.22 selectManyMenu组件 647 |
| 19.4.23 selectOneListbox组件 649 |
| 19.4.24 selectOneMenu组件 651 |
| 19.4.25 selectOneRadio组件 653 |
| 20.2.1 使用MyFacesJSF实现 658 |
| 20.2.2 使用MyFacesTomahawk库 658 |
| 20.3.2 commandButton组件 661 |
| 20.3.5 graphicImage组件 663 |
| 20.3.9 inputTextarea组件 665 |
| 20.3.12 outputLabel组件 667 |
| 20.3.16 selectBooleanCheckbox组件 669 |
| 20.3.17 selectManyCheckbox组件 669 |
| 20.3.18 selectManyListbox组件 669 |
| 20.3.19 selectManyMenu组件 670 |
| 20.3.20 selectOneListbox组件 670 |
| 20.3.21 selectOneMenu组件 671 |
| 20.3.22 selectOneRadio组件 671 |
| 20.4.3 aliasBeansScope组件 675 |
| 20.4.6 collapsiblePanel组件 677 |
| 20.4.7 commandNavigation组件 678 |
| 20.4.8 commandNavigation2组件 679 |
| 20.4.9 commandSortHeader组件 681 |
| 20.4.11 dataScroller组件 683 |
| 20.4.14 inputCalendar组件 687 |
| 20.4.16 inputFileUpload组件 690 |
| 20.4.18 inputTextHelp组件 694 |
| 20.4.20 jsValueChangeListener组件 696 |
| 20.4.22 newspaperTable组件 697 |
| 20.4.23 panelNavigation组件 699 |
| 20.4.24 panelNavigation2组件 700 |
| 20.4.27 panelTabbedPane组件 703 |
| 20.4.31 selectOneCountry组件 706 |
| 20.4.32 selectOneLanguage组件 707 |
| 20.4.37 updateActionListener标签 713 |
| 20.5.1 validateCreditCard验证器 714 |
| 20.5.2 validateEmail验证器 715 |
| 20.5.3 validateEqual验证器 716 |
| 20.5.4 validateRegExpr验证器 717 |
| 20.6 MyFaces对Tiles框架的支持 718 |
| 20.6.2 使用MyFaces对Tiles的支持 719 |
| A.2 获得并安装FacesConsole 731 |
| A.3 使用FacesConsole作为独立应用程序 731 |
| A.4 在BorlandJBuilder内使用FacesConsole 732 |
| A.5 在Eclipse内使用FacesConsole 734 |
| A.6 在IBMRationalApplicationDeveloperforWebSphere中使用FacesConsole 737 |
| A.7 在IntelliJIDEA内使用FacesConsole 739 |
| A.8 在NetBeans和SunONEStudio(Forte)内使用FacesConsole 741 |
| A.9 在OracleJDeveloper内使用FacesConsole 743 |
| A.10 配置FacesConsole输出选项 745 |
| B.2 JScape的WebGalileoFaces 746 |
| B.4.1 ADFFaces部分页面渲染特性 752 |
| B.4.2 ADFFacesprocessScope 755 |
| B.4.3 使用ADFFaces对话框框架 757 |
| B.4.5 OracleJDeveloper针对ADFFaces的可视化设计时体验 764 |
| B.5 JSFCentral——第三方组件参考中心 765 |
| C.3 迁移策略:Struts-Faces集成库 768 |
| C.3.4 替换标准Struts请求处理器 770 |
| 附录D JSF的未来:ApacheShale 773 |
| D.1 Shale.Java社区进程和创新 773 |
| D.4.1 ViewController(shale-core.jar) 778 |
| D.4.2 对话框管理器(shale-core.jar) 781 |
| D.4.3 应用程序管理器(shale-core.jar) 785 |
| D.4.4 验证(shale-core.jar) 786 |
| D.4.5 远程(Remoting)(shale-remoting.jar) 789 |
| D.4.7 调用MethodExpression 791 |
|
|
|
 |
|
|