From Gossip@caterpillar

语言技术: JavaServer Faces

飞啊!飞啊。。。JavaServer Faces 于2004年三月1.0版正式提出,清楚的将Web应用程式的开发者划分了三个角色:网页设计人员、应用程式设计人员以及UI元件开发人员。从使用的角度 来看,网页设计人员与应用程式设计人员可以他们所熟悉的方式开发程式,而不用侵入彼此的工作范围,而UI元件开发人员可以独立的开发个别元件,细节的部份 留给了他们来处理。

总而言之,JavaServer Faces 协助了职责的分别,让不同属性的开发人员可以彼此合作,而又互不侵扰,UI元件的开发搭配整合开发环境(IDE)或是所视即可得的网页编辑程式,让Web 应用程式的开发得以简单且迅速,藉此提高应用程式开发效率。

JavaServer Faces 可以简单,可以复杂,端看您从哪个角色来看它,这边的文件是在学习 JavaServer Faces 过程中的一些心得,尝试从三个角色的位置来谈谈 JavaServer Faces。


使用 JSF
        如果您是从使用的角度来看 JSF,则您不用理会 HTTP、资料转换等细节,JSF 将细节都隐藏起来了,无论您是网页设计人员或是应用程式设计人员,都可以使用自己熟悉的方式来看 JSF。
  • 入门
藉由以下的几个主 题,可以大致了解 JSF 的轮廓与特性,我们来看看网页设计人员与应用程式设计人员各负责什么。
  • Managed Beans
JSF 使用 Bean 来达到逻辑层与表现层分离的目的,Bean 的管理集中在组态档案中,您只要修改组态档案,就可以修改 Bean 之间的相依关系。
  • 资料转换与验证
转换器 (Converter)协助模型与视图之间的资料转 换,验证器(Validator)协助进行语意检验(Semantic Validation)。
  • 事件处理
JSF 的事件模型提供一个近似的桌面 GUI 事件模式,让熟悉GUI设计的人员也能快速上手Web程式设计。

JSF 标签
        网页设计人员要作的就是了解 JSF 的标签的使用方式,这就像是学习进阶的 HTML 标签,另一件事就是与程式设计人员沟通好各个 Bean 的名称绑定。
  • 标签入门
标签的相关属性查 询,您可以参考 Tag Library Documentation, 这边的介绍只是一些简单的入门实例。
  • 表格处理
对于必须使用表格 方式呈现的资料,JSF 的 <h:dataTable> 标签协助您进行动态表格资料的输出。

自订元件
        JSF 让您可以自订元件,每个元件都是可替换的,这使得元件在搭配时更有弹性,但相对的却使开发元件的过程复杂的多,这边对自订JSF 元件只是个入门砖,更多有关自订元件的细节可得要专书来说明。
  • JSF 生命周期与元件概述
要开发 JSF 元件,您需要更深入了解 JSF 的一些处理细节,包括了 JSF 生命周期以及 JSF 框架。
  • 简单实例
在不考虑元件有子 元件的情况下,这边以实际的一个例子来说 明开发元件的过程,至于考虑子元件的情况请参考专书介绍。

参考资料