pout
发表于http://www.leefn.com/ 时间:
2009-07-09
JSF 2.0的最终规范也已经发布了有近一个月了,在近期试用了一些新功能和特性,带来了很多漂亮的特性和愉快的体验。试用之余,迫不及待的希望与众多开发工程师们分享JSF 2.0带来的这些改变,或者说给我们开发带来的便利以及思想上的变革。
自从JSF 2.0立项起,就一直关注他,除了他承诺的那些技术和思想上的先进性,更多的原因是由于他为适应Web 2.0开发应用而提出的简化开发流程,提供灵活便捷的组件开发模式;或者可以说是由于他承诺在提高开发人员效率方面的努力。在从Mojarra项目获取beta版实现并试用后,我非常兴奋,JSF 2.0的专家组很好的完成了他们的承诺,并有很多超出预期的惊喜。
不废话了,现在就从开发者的角度列出我认为全新引入的最重要的两个特性:
1、 Facelets界面组件模型
在JSF 2.0中引入了全新的界面表现模型Facelets,可以方便的实现自有组件定制和页面模版化。既强化了JSF提出以来的组件式开发思想,又简化了自有组件的开发。从Tapestry吸收来的模版方式不仅可以让开发工程师像搭积木一样组合一个页面,更可以搭好架子后只在相关页面中只修改需要改变的部分。Facelets还有一大好处,就是将所有java代码从页面标签中移出,让分工更明细了,分工合作本来就是人类发展的一大基石,在这儿也体现了。
采用全新界面模型后还带来了些辅助功能和好处,其一就是性能的大幅度提升,由于Facelets采用W3C的xhtml规范,是一个严格的xml规范,组件树渲染不再需要如jsp一样编译成class文件后再运行,可以直接渲染,而大大提升了渲染速度,整体性能比jsp应该会提升不少。另外为了支持自有组件开发,JSF 2.0加入了一个resources约定,将自己创建的组件放于此目录下,省掉了xml配置文件中的说明。
2、 内置的Ajax支持
JSF 2.0吸取了众多开源框架的优点,将Ajax浑然一体的植入了规范中,并且借助Facelets的界面组件,将Ajax的开发完全简化了。大多数的Ajax交互甚至不用在页面中加入任何javascript代码。其中引入标签 f:ajax 和javascipt方法jsf.ajax.request 以及相配套的回调方法。
为了适应Ajax,在JSF 2.0中引入了一个全新的ManageBean的作用范围View Scope,此作用范围是在此视图存在时有用,当导航到新的视图时失效。正暗合了ajax当前页面局部更新的道理。
还有一些特性的加强和性能方面的提升也是很重要的:
a、 引入annotation申明managebean,大大简化了xml配置文件
b、 引入resources模型,将css、javascript、图片等资源统一管理,并提供更高效的加载速度。
c、 性能上的提升:根据变化情况保存、恢复视图,而不是每次恢复全部视图。组件缺省为无状态,根据视图重新恢复组件状态,减少ViewState的大小,提高传输性能等。
d、 增强的事件模型和生命周期
可以说,JSF 2.0是最大的一次更新了,还有很多新的特性就不一一说明了,接下来的文章中我就以新出的两个功能做一些简单的例子和介绍。与大家一起分享。
分享到:
相关推荐
本例中的"jsf2.0版本helloworld"就是一个基础的入门示例,旨在展示如何在MyEclipse环境中配置和运行一个简单的JSF应用。 **JSF 2.0的关键特性** 1. **Faces Flow**: JSF 2.0引入了Faces Flow,这是一种新的导航模型...
文档《JSF2.0系列简介.doc》可能详细介绍了JSF 2.0的基础知识和实践指导,而压缩包中提供的源代码可能是为了演示如何在实际项目中使用JSF 2.0。这些示例可能涵盖了以下内容: - **创建基本的JSF页面**:展示如何...
在本系列文章中,作者通过一个名为places的应用程序来演示JSF 2.0的新特性。该应用利用Yahoo! Web服务来获取地图和天气信息。用户输入地址,应用程序通过调用Web服务获取地图的多个缩放级别和天气预报,然后在JSF...
在Java服务器端开发中,JavaServer Faces (JSF) 是一个用于构建用户界面的MVC框架,而RichFaces是JSF的一个扩展库,提供了一系列强大的组件和功能,以提升用户体验和开发效率。在这个场景中,我们关注的是JSF 2.0与...
综上所述,`jsf2.0(mojarra-2.0.2-FCS-binary.zip)`是一个全面的JSF 2.0开发工具包,包含了从开发到部署所需的所有组件和文档,为Java Web开发者提供了强大的工具集,便于他们构建高效、易维护的Web应用。...
《JSF 2.0 Cookbook》通过一系列实际的案例来教授读者如何利用JSF 2.0的各种特性。这些案例覆盖了从基础到高级的多个层面,包括但不限于: - **基础组件和表单处理**:如何创建和使用各种UI组件,如输入字段、按钮...
JSF 2.0是基于组件的框架,它提供了一系列预先定义的UI组件,如按钮、表单、文本框等,开发者可以通过声明式方式在页面上使用这些组件。每个组件都与后台Bean的属性绑定,允许数据的双向传递。此外,JSF 2.0支持...
本系列将以两个例子来讲解jsf的基本开发,第一个例子当然是hello world。目前可用的jsf ide不多,ibm要到06年才能放出支持jsf的wtp版本。所以我们的例子基本以手写为主,这样也能让我们有更清楚的认识,同时推荐目前...
7. **案例研究**:通过一系列实际案例,展示了如何运用JSF 2.0构建复杂的企业级应用。 #### 四、特点亮点 - **全面性**:本书不仅覆盖了JSF 2.0的核心概念和技术,还包含了大量示例代码和最佳实践建议。 - **...
它将一系列视图和转换逻辑封装在一起,提供了更好的用户体验。 3. **全双工通信**:JSF 2支持WebSocket协议,使得服务器和客户端之间的通信更加实时,增强了交互性。 4. **异步处理**:通过`<f:ajax>`标签,开发者...
`jstl.jar`和`javax.servlet.jsp.jstl.jar`提供了JSTL库,包含了一系列用于处理常见任务的标签,如条件判断、迭代、国际化等,与JSF结合使用可以增强视图的可读性和维护性。 9. **其他辅助库**: 为了支持一些...
1. **JSF2.0-Reference.pdf** - 这是一份详细的JSF 2.0官方参考文档,涵盖了JSF 2.0的所有特性和API。该文档对于深入理解JSF的工作原理、生命周期、事件处理、数据绑定以及组件使用等方面至关重要。你可以从中学习...
JSF 2.0通常需要一系列的库,如Servlet API、EL(Expression Language)和JSF实现库(如Mojarra)。开发者需要正确地配置项目的类路径,以确保所有依赖都被正确加载。 7. **文件结构** 虽然没有列出具体的文件结构...
JSF提供了一系列预定义的UI组件,如按钮、文本框、表格等,可以方便地通过HTML标签或EL表达式在页面上使用。例如: - `<h:inputText>`:用于创建文本输入字段。 - `<h:commandButton>`:创建一个提交按钮,可以触发...
**JSF组件库** 包括一系列预定义的UI组件,如按钮、文本框、表格等,这些组件可以组合成复杂的用户界面。开发者可以通过定制或扩展这些组件来满足特定需求。 **Facelets** 是JSF 2.0及更高版本推荐的视图技术,它...
- **添加依赖**:首先,需要将`jsf2.0+richfaces4.2.3`压缩包中的所有jar文件添加到项目的类路径中。这些jar文件通常包括JSF的核心库、RichFaces的库以及可能的其他依赖。 - **配置web.xml**:更新`web.xml`文件,...
在"JSF Web应用开发实战源码"这个资源中,你将找到一系列针对JSF框架的实践示例。这些实例涵盖了JSF的基础到进阶用法,对于初学者来说是极好的学习材料。下面,我们将深入探讨JSF的一些核心概念和技术点: 1. **JSF...
6. **JSF生命周期**:JSF处理每个HTTP请求时会经历一系列的阶段,包括初始化、处理请求、验证、更新模型、调用业务逻辑和呈现响应。每个阶段都为开发者提供了插入自定义逻辑的机会。 7. **FacesContext**:这是JSF...