快速业务通道

JSF 1.2入门,第1部分 构建基本应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
会大大简化 Web 开发。本节详细解释最重要的 JSF 特性。

JSF 1.2入门,第1部分 构建基本应用程序(2)

时间:2011-08-09 IBM Richard Hightower

基于组件的体系结构

JSF 为标准 HTML 中可用的每个输入字段都提供了组件标记。还可以针对应用程序特有的用途编写定 制的组件,或者用多个 HTML 组件组合成一个复合组件 — 例如,用三个下拉菜单组成一个 Data Picker 组件。JSF 组件是有状态的。它们的状态是通过 JSF 框架提供的。JSF 使用组件生成 HTML 响应。还可 以使用许多第三方 JSF GUI 组件。

JSF 包括:

一个事件发布模型

一个轻量型反转控制(inversion-of-control,IoC)容器

用于几乎每种常用 GUI 特性的组件,包括(但不限于):

可插入的显示

服务器端检验

数据转换

页面导航管理

作为一种基于组件的体系结构,JSF 具有很强的可配置性和可扩展性。大多数 JSF 功能 — 比如导航 和托管 bean 查找 — 都可以替换为可插入的组件。这种可插入性为构建 Web 应用程序 GUI 提供了很强 的灵活性,并允许轻松地将其他基于组件的技术结合到开发工作中。例如,可以将 JSF 的内置 IoC 框架 替换为更成熟的 IoC/面向方面编程(AOP)Spring 框架,以执行托管 bean 查找。我将在第 2 部分中讨 论许多高级特性。

JSF 和 JSP 技术

JSF 应用程序的用户界面由 JavaServer Pages(JSP)页面组成。每个 JSP 页面包含提供 GUI 功能 的 JSF 组件。在 JSP 页面中,可以使用 JSF 定制标记库来显示 UI 组件、注册事件处理函数、将组件 和检验器关联起来、将组件和数据转换器关联起来等等。

JSF 并不一定要使用 JSP 技术。实际上,JSP 页面使用的 JSF 标记仅仅引用组件,让它们可以显示 。组件的生命周期与 JSP 页面很不一样。

您可以这样体会这一点:在 JSP 页面中修改 JSF 组件的属性并重新装载页面,这时什么也不会发生 。这是因为标记在它的当前状态中查找组件。如果组件已经存在了,定制标记就不修改它的状态。组件模 型允许控制器代码修改组件的状态(例如,禁用一个文本字段),当显示视图时,会显示组件树的当前状 态。

在典型的 JSF 应用程序中,不需要 Java 代码,只需要非常少的统一 Expression Language(JSTL EL)UI 代码。正如前面提到的,有许多 IDE 工具可以用来构建和组装 JSF 应用程序,还有许多第三方 JSF GUI 组件。尽管 JSF 在设计时就考虑到了 WYSIWYG IDE 工具,但是也可以在不使用 WYSIWYG 工具 的情况下编写 JSF 应用程序。

JSP 2.1 和 JSF 1.2 中的改进

JSP 2.1 添加了许多新特性来支持 JSF,包括统一 Expression Language(EL)API(JSF 1.2 也添加 了这个特性)。现在可以使用标准的 JSTL 标记循环处理列表并显示 JSF 组件,这是用 JSF 1.1 和 JSP 2.0 无法实现的。关于 JSP 2.1 中的改进的更多信息参见 参考资料。(尽管有了这些改进,但是 Facelets 仍然更适合 JSF,而且 JSF 2.0 将融合许多来自 Facelets 的思想。)

JSF 和 MVC

JSF 是近几年 Java 平台上 Web 开发技术迅速发展的成果。Java Web 开发技术首先从 JSP 技术开始 ,JSP 的主要好处是很容易在 HTML(和类似 HTML 的)页面中混合 Java 代码。下一步是 Model 1 体系 结构,它让开发人员将大多数后端代码放到 JavaBeans 组件中,然后用 <jsp:useBean> 标记将 JavaBeans 组件导入 Web 页面。这个体系结构对于简单的 Web 应用程序很合适,但是许多 Java 开发人 员讨厌 JSP 技术中结合的 C++ 特性,比如静态包含。所以产生了 Model 2 体系结构。

从本质上说,Model 2 体系结构是一种用于 Web 应用程序的简化版 MVC。在 Model 2 体系结构中, 控制器由 servlet(或 Actions)表示,显示由 JSP 页面负责。Apache Struts 是一个

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号