具体描述
"为什么Web UI做不到像一般GUI那样的效果?"、"为什么不能像写GUI程序那样来写网站应用系统?"、"为何依照MVC原则设计出来的系统,前台网页里仍然含有条件判断与循环等不应该出现的东西?"。如果这些是你曾遇到的问题,现在这些问题有一个共同的解决方案:JavaServer Faces(JSF)。
本书作者Hans Bergsten是参与JSF规范制定工作的专家之一,他以一个具体的范例,逐步引导读者学习如何使用JSF开发网站应用系统,并解释JSF如何解决最常见的开发难题。使用JSF组件制作网页的美工人员并不需要这本书,因为在网页里使用JSF组件的语法简单到不行;但是对于设计JSF组件给美工人员使用的Java程序员,本书不可不读。
JSF是Sun宣称Java将朝向"容易开发"(Easy Development)发展的第一个成果。JSF使得MVC设计模式得以被更彻底贯彻,让不同专长的人才可以更容易合作,让应用系统开发团队的日子更好过些。正如其名称的暗示,JSF是打造网站门面的技术。使用JSF的优点是显而易见的,对于网页美工人员而言,将程序组件嵌入网页就像增加普通HTML标记一样容易;对于后台系统的程序员而言,用不着再顾虑HTTP的交互细节,而可以使用传统GUI程序的设计模式(事件驱动模型)来设计网站应用系统。更棒的是,JSF开创了一大片可供开发工具厂商挥洒的空间,在不久的将来,或许设计Web UI就像设计Swing GUI一样,用鼠标拖拉几个组件并设定组件的一些属性就可以弄出一个动人的网站系统门面。
作者简介
目录信息
第一章 JavaServer Faces概论
何谓JavaServer Faces
JSF与传统技术的比较
JSF在大结构中的定位
准备工作
第二章 JSF开发程序
开发具有JSF用户界面的应用系统
开发后台程序
开发组件与集成程序
开发用户界面网页
第三章 准备JSF环境
安装Java软件开发工具
安装Tomcat Server
测试Tomcat
安装本书范例
关于本书的范例
第四章 Servlet与JavaServer Pages概论
HTTP
网站应用系统的配置以及运行时环境
Servlet、Filter与Listener
JavaServer Pages
访问应用系统数据
第五章 事务逻辑与身份验证
示范应用系统的大体结构
事务逻辑类的实现
验证与授权
第六章 组件的创建与绘制
JSF的基础
组件与模型属性之间的绑定
选择性地绘制组件
第七章 验证外界输入
处理语法错误
使用标准验证器
定义自定义错误信息
使用自定义验证器
其他验证输入值的办法
第八章 事件处理
JSF事件模型
处理后台事件
UI事件
第九章 浏览控制
变换JSF视图
返回非JSF-view响应视图
对Non-JSF Request返回一个JSF View Response
结论
第十章 表格数据的处理
显示只读数据表
表行事件的处理
超大表格的处理
编辑表格数据
第十一章 国际化
输出信息的区域化
处理区域化应用系统的输入
非西方语系的处理
第十二章 精雕细琢
使用多个JSP文件构成一个视图
JSF View与其他内容的结合
Struts与JSF的集成
程序化修改组件
使用PhaseListener
关于调试与错误处理的构想
第十三章 开发自定义绘制器与其他外挂类
开发自定义的绘制器
使用其他自定义类
自定义类的封装
第十四章 开发自定义组件
扩充现有的组件
从头开发新组件
第十五章 开发自定义表示层
ViewHandler类
使用Java类作为View
使用纯HTML模板搭配XML视图定义文件
附录一 标准JSF标记库
附录二 JSF EL语法参考
附录三 标准JSF组件与Render Kit
附录四 基础API参考数据
附录五 JSF配置文件参考数据
附录六 网站应用系统的结构与配置描述文件参考数据
索引
· · · · · · (收起)
读后感
用户评价
我对这本书的整体印象是其结构布局极为合理,逻辑递进自然流畅。从最初的组件基础构建,到深入到事件模型,再到最后的集成与部署,每一步都像是在引导读者完成一次完整的项目构建流程。我尤其喜欢它关于“模态窗口和弹出层”的实现章节,在传统的JSF开发中,处理这些非线性交互总是很棘手,但这本书提供了一种基于Facelets和特定组件库的优雅解决方案,它巧妙地利用了页面的局部刷新机制,使得用户体验上几乎可以媲美单页应用。此外,书中对数据表格组件的讲解也极其深入,不仅涵盖了基础的分页和排序,还涉及到了复杂的数据筛选器和行内编辑功能的实现。这使得读者在完成基础学习后,可以直接跳入到开发中后期更复杂的界面需求,而无需再为这些“疑难杂症”去翻阅大量的论坛帖子或官方文档。总而言之,这是一本能真正教会你如何驾驭JSF构建健壮、交互丰富的现代Web界面的宝典。
这本书的封面设计倒是挺吸引人的,那种蓝白相间的配色,让人联想到清爽的技术文档,但翻开内页,我才发现它在引导开发者构建复杂用户界面的那一套方法论上,真是下足了功夫。比如它对组件生命周期的那一段描述,简直是教科书级别的详尽,我记得当时看到它如何细致区分“渲染前”和“渲染后”的事件处理时,感觉自己对JSF的理解瞬间被提升到了一个新的高度。它不是那种浮光掠影地介绍几个标签那么简单,而是深入到MVC架构中视图层如何与后端数据模型进行同步的底层机制。特别是关于自定义组件和数据转换器的章节,作者并没有使用那种晦涩难懂的官方术语堆砌,而是通过大量的实战案例,把那些原本让人头疼的配置和继承关系讲得清晰明了,即便是对初学者来说,只要跟着书中的步骤一步步操作,也能搭建起一个功能完善的界面原型。如果说有什么遗憾,可能就是对新兴的前端框架的集成讨论略显不足,但就其专注于JSF自身生态的深度而言,这本书无疑是桌面常备的工具书了。
说实话,我对这类技术书籍的期待值通常不会太高,大多是搜索某个特定问题的救急指南。然而,这本书在介绍数据绑定和验证框架时,展现出了一种令人惊喜的条理性和前瞻性。它对不同类型的验证器(例如,范围验证、正则表达式匹配)的处理方式进行了系统性的梳理,并且对比了客户端验证和服务器端验证的优劣及其在JSF中的实现路径。更值得称道的是,书中对国际化(i18n)和本地化(l10n)的支持也进行了非常详尽的介绍,这对于面向全球用户的应用开发来说是不可或缺的。我记得其中一章专门讨论了如何自定义资源文件和消息解析器,这部分内容在很多同类书籍中都是一笔带过。通过这本书,我不仅学会了如何让界面看起来不错,更重要的是学会了如何让界面在处理不同地区、不同语言的用户数据时表现得滴水不漏,这从实用性上大大增加了这本书的含金量。
这本书的文字风格非常平实,没有华丽的辞藻,完全是技术人员之间那种直截了当的交流方式,让人感到非常舒服。我个人特别关注的是其在安全性和性能优化方面的讨论。关于防止跨站脚本攻击(XSS)的内置机制,书中解释得非常透彻,它展示了JSF框架是如何自动处理输入清理和输出编码的,同时也指出了开发者在某些特殊场景下需要额外采取的保护措施。在性能优化方面,作者并未盲目推崇任何单一的技术,而是提供了一套综合的优化思路,比如如何合理利用组件树的缓存、如何优化视图状态(View State)的大小,以及在必要时如何选择性地禁用某些生命周期阶段。这些都是在项目进入维护阶段后,对用户体验和服务器资源消耗产生直接影响的关键点。这本书提供的优化策略不是空泛的建议,而是附带了具体的代码示例和性能对比数据,这种可量化的指导,是我认为它超越普通教程的关键所在。
我是在一个急需快速掌握企业级Web应用界面构建的紧迫时期接触到这本著作的。坦率地说,它给我的感觉更像是一份经过精心策划和打磨的实战手册,而不是那种理论堆砌的学术著作。最让我印象深刻的是,它花了大量篇幅讲解“状态管理”这一JSF核心痛点。书中对于`@ManagedBean`的作用域管理,以及如何利用`f:viewParam`进行页面间参数传递的技巧,提供了远超我预期的深度解析。我尤其欣赏作者在描述`ajax`交互模型时的严谨性,他没有简单地停留在“使用`f:ajax`标签”的层面,而是详细剖析了部分请求生命周期和事件冒泡机制,这对于调试那些复杂的、涉及多个组件联动的异步更新场景至关重要。读完这部分内容后,我发现自己编写的校验逻辑和数据回传代码的健壮性有了显著提升,很多过去靠“试错”解决的问题,现在都有了清晰的原理支撑。这本书的价值在于,它不仅告诉你“怎么做”,更重要的是告诉你“为什么这么做”。
只是去了解了
JSF还是没有struts火吧==b
只是去了解了
只是去了解了
只是去了解了