`
SSailYang
  • 浏览: 312701 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaServer Faces 2.0 的复合组件

    博客分类:
  • Java
阅读更多

下文转自:http://www.infoq.com/cn/news/2008/11/jsf20

 

自从JavaServer Faces于2004年首次发布后,JSF 2.0就成为Java EE标准规范的首个主要更新。JSF 2.0是JSF规范的一次重要革新,其目的在于解决开发者使用Web框架时所遇到的诸多问题。主要的变化包括:

  1. 使用基于Facelets的视图技术代替JSP。
  2. 提供一种标准化的资源处理机制:很多组件都需要诸如JavaScript文件、图片或者是CSS元素等内容来正确地进行渲染。JSF 1.x无法方便地处理这些内容,所以组件开发者不得不开发自己的处理机制。
  3. 可重新定位的资源:我们可以指定在哪里渲染资源,这个渲染位置可能与视图中的资源标签位置不同。这使得我们可以定制组件和JSF页面以在恰当的地方渲染引用的资源,这样即使组件被包含在body中,我们也可以在中引用CSS文件。
  4. 系统事件:发布/订阅的事件模型所支持的事件不再特定于一个具体的应用,而是起源于JSF应用执行过程中的特定时间点。UI组件和应用对象(这是一个单例)都能收到系统事件。
  5. 增加的scopes:增加了视图scope和组件scope。对对话scope的支持预计会通过Web Beans API 增加。
  6. “project stage”参数的标准化:Project stage提供一种方式来影响JSF的行为,这以一组预先定义好的阶段枚举为基础,而这些阶段可以通过上下文参数或者JNDI进行设置。比如说,产品化开 发和检查期间可以在浏览器中显示更多的调试信息。已定义的阶段有产品化、开发、单元测试、系统测试及产品化扩展阶段,并将产品化扩展作为默认值。你可以在 运行时通过调用Application.getProjectStage()来查询应用对象以获得相应的值。
  7. 通过使用注解和默认值来减少XML。
  8. 扩展JSF 1.2中引入的AJAX支持。

JSF 2.0一下子提供这么多改进的目的在于解决开发者在使用JSF 1.x时遇到的一个主要问题——构建自定义组件的复杂性。使用JSF 1.x时,组件开发者要想开发出可以使用在标记页面上的自定义组件必须得遵循大量步骤。至少要实现JSP或Facelets的标记处理器,同时还要为该组 件提供一个渲染器,这两项工作都需要在faces-config.xml文件中进行相应的配置。以JSF为中心的Facelets是JSP的一个替代方 案,被JSF开发者广泛使用,它通过复合组件来支持模板,这在一定程度上改进了JSF。这种方式需要创建一个包含模板标记和组件的XHTML页面,然后将 这些页面作为组件在其它页面中使用。任何有效的Facelet XHTML页面都可以作为组件使用,与JSF 1.x中使用Facelets不同,JSF 2中的复合组件都是真正的UIComponents,这样它们就会支持验证器、转换器及监听器(可以监听行为和值的变化)。复合组件以资源的形式被处理, 因此它们可以使用新式的标准资源处理机制。例如,有一个名为MenuPanel.html的Facelet标记文件位于ezcomp资源库中,页面创建者 就可以声明xml名称空间xmlns:ez=http://java.sun.com/jsf/composite/ezcomp,并在页面中包含& amp; lt;ez:menuPanel />标记,以此来使用该组件。

JSF 2.0专家组已经发布了JSF 2.0的第二个草案,该草案可从JCP站点上下载 。该草案还有一个实现 。规范的最终草案将会于今年年底出台。

 

==========================================

 

评论几句:草案中的第一条和第二条看过了,不过看的是一知半解,不是很清楚最终目的是什么。第五条,对话scope的支持预计会通过Web Beans API 增加。看来 Seam 的很多思想和技术将会渗入 Java EE 6 中去。如果说 Spring 使 Java EE 5 的模型极大地简化的话,那 Seam 将会给 Java EE 6 带来很多新的特性。Spring 会对 Java EE 6 产生什么影响呢?至今没有看出什么来。

分享到:
评论

相关推荐

    JavaServer Faces 2.0, The Complete Reference源码

    《JavaServer Faces 2.0, The Complete Reference》这本书全面介绍了JSF 2.0框架,提供了详细的指南和实践案例,帮助开发者深入理解和应用这一技术。源代码通常包括书中所讲解的各种示例和实例应用,这对于读者理解...

    JavaServer.Faces.3rd.Edition

    ### JavaServer Faces (JSF) 2.0 第三版核心知识点详解 #### 一、概述 JavaServer Faces(简称JSF)是Java平台企业版(Java EE)中用于构建Web用户界面的标准技术。它提供了一个强大的框架来开发服务器端应用,支持...

    Core JavaServer Faces 3rd Edition JSF核心编程第三版

    《Core JavaServer Faces 3rd Edition》是一本全面介绍JSF 2.0及其新特性的书籍,适合所有级别的Java开发者阅读。本书不仅详细介绍了JSF的基础知识和高级概念,还提供了大量的实例代码和最佳实践,帮助读者快速掌握...

    JSF2自定义组件编程系列 第五部分 源代码

    在JSF(JavaServer Faces)2.0中,自定义组件是实现个性化用户界面和功能扩展的关键技术。这个"JSF2自定义组件编程系列第五部分 源代码"着重讲解了如何将复合组件(Composite Component)打包到JAR文件中,并通过...

    JSF2.0实战 - 4、自定义组件

    在JavaServer Faces (JSF) 2.0中,自定义组件是开发人员扩展框架功能的关键方式。通过创建自定义组件,你可以构建符合特定需求的用户界面元素,这些元素可以复用并集成到多个JSF应用程序中。本教程将深入探讨如何在...

    JavaOne2009大会资料-Core Technology: Java EE

    TS-5205-Writing Killer JavaServer Faces 2.0 UI Components.pdf,JSF是Java EE的用户界面组件模型,这份材料可能详细讲述了如何创建高效的JSF 2.0组件,提升用户体验和开发者的工作效率。JSF 2.0引入了许多改进,...

    JSF.2.0.最新2010教程

    **JSF (JavaServer Faces)** 是Java平台标准的一部分,它是一种用于构建企业级Web应用的框架。JSF 2.0作为JSF的一个重大更新版本,在2010年发布,引入了许多新特性来简化Web应用程序的开发过程。 **JSF 2.0 的主要...

    JSF1.1,1.2,2.0API大集合

    **JSF(JavaServer Faces)** 是Java平台上用于构建用户界面的一种Web开发框架,它简化了前端和后端之间的交互,提供了丰富的组件库和事件处理机制。本资源集合包括JSF 1.1, 1.2 和 2.0 的API文档,是深入理解和学习...

    CDI , JSF2.0 项目兼容性问题总结

    在开发Java EE应用程序时,尤其是使用CDI(Contexts and Dependency Injection)和JSF(JavaServer Faces)2.0版本的项目,可能会遇到各种兼容性问题。本文将针对在WebSphere 8.5环境下遇到的一些典型问题进行总结,...

    JSF第18章

    在JSF(JavaServer Faces)框架中,第18章着重介绍了如何利用JSF的特性构建一个复合的数据感知组件——UIHeadlineViewer。此章节的目标是通过创建一个能展示RSS(Really Simple Syndication)提要的组件,来加深对...

    JSF2-Getting-Started.zip_Getting Started

    JavaServer Faces (JSF) 是一个用于构建Web应用程序的MVC(模型-视图-控制器)框架,由Java Community Process(JCP)开发并维护。JSF 2.0是该框架的一个重要版本,引入了许多改进和新特性,使得开发更高效、更易于...

    【读书笔记】Java参考大全-J2EE5版本

    JSF2.0在J2EE5中引入,进一步增强了其功能,如Facelets视图技术、复合组件支持和AJAX集成。 5. **持久化API (JPA)**:JPA是Java Persistence API,它是J2EE5的一部分,提供了一种标准的方式来管理和持久化Java对象...

    JavaEE6规范中文版

    5. **JavaServer Faces (JSF) 2.0**:JSF 2.0带来了显著的改进,如Faces Flow,用于构建复杂的用户界面导航;以及组件树的状态管理,提高了性能和用户体验。此外,JSF 2.0也支持CDI集成,增强了依赖注入的能力。 6....

    jsf入门

    **JSF(JavaServer Faces)入门详解** JSF,全称JavaServer Faces,是Java EE平台中的一个组件框架,用于构建交互式用户界面。它提供了一种声明式的方式来创建Web应用,大大简化了开发过程。这个教程系列是针对初学...

    Oracle WebCenter Concepts

    它结合了基于标准的、声明式的JavaServer Faces(JSF)开发方式,以及门户的灵活性与功能,并集成了一系列WebCenter Web2.0服务,从而提升最终用户的生产力。 ### Oracle WebCenter组件 #### 1. Oracle WebCenter ...

    JSF标签暨注解规范

    JSF(JavaServer Faces)是一种Java Web应用程序的用户界面框架,它允许开发者创建丰富的、交互式的Web应用。在JSF2.0版本中,引入了更多的标签和注解,极大地扩展了开发者的功能和灵活性。以下是对JSF标签和注解的...

    JSF书,源代码,PPT

    JavaScript Server Faces(JSF)是一种Java企业级的用户界面(UI)框架,用于构建Web应用程序。这个资源包包含了关于JSF的学习资料,包括书籍、源代码和演示。 首先,我们来详细了解一下JSF的核心概念: 1. **JSF...

Global site tag (gtag.js) - Google Analytics