JavaServer Faces (JSF) 是一种用于构建Java Web 应用程序的标准框架(是Java Community Process 规定的JSR-127标准)。它提供了一种以组件为中心的用户界面(UI)构建方法,从而简化了Java服务器端应用程序的开发。由于由Java Community Process (JCP) 推动,属于Java EE 5中的技术规范,而受到了厂商的广泛支持。它是一种页面表示技术。
版本
-
JSF 2.2 (2013-04-16) — JSF 2.2 introduced new concepts like stateless views, page flow and the ability to create portable resource contracts.
-
JSF 2.1 (2010-10-22) — Maintenance release of 2.0. Only very minor amount of spec changes.
-
JSF 2.0 (2009-06-28) — Major release for ease of use, enhanced functionality, and performance. Coincides with Java EE 6.
-
JSF 1.2 (2006-05-11) — 核心系统和API改进. Coincides with Java EE 5. Initial adoption into Java EE.
-
JSF 1.1 (2004-05-27) — 错误修复,没有更改规范.
-
JSF 1.0 (2004-03-11) — 初始规范发布.
技术的主要组件
为了展现UI组件和管理它们的状态;操作事件、服务器端的确认和数据变换;定义页面导航;支持国际化和可访问性;提供对所有特性的可扩展性的API为了在JSP中表示UI组件和派发组件给服务器端对象的两个JSP自定义tag库。
JavaServer Faces技术好处
引入了基于组件和事件驱动的开发模式,使开发人员可以使用类似于处理传统界面的方式来开发Web应用程序。提供了行为与表达的清晰分离。 不用特别的脚本语言或者标记语言来连接UI组件和Web层。JSF技术API被直接分层在Servlet API的顶端。 技术为管理组件状态提供一个丰富的体系机构、处理组件数据、确认用户输入和操作事件。
JavaServer Faces应用程序
典型的JSF应用程序包含下列部分:
-
一组JSP页面
-
一组后台bean(为在一个页面上的UI组件定义的属性和函数的JavaBean组件)
-
应用程序配置资源文件(定义页面导航规则、配置bean和其它的自定对象,如自定义组件)
-
部署描述文件(web.xml)
-
一组由应用程序开发者创建的自定义对象(有可能)
-
一些可能包含自定义组件、约束、转换器或者监听器的对象
-
为在页面中表现自定义对象的一组自定义tag
包含JSP页面的JSF应用程序也使用由为了表现UI组件和在页面上的其他对象的JSF技术而定义的标准的tag库。
JavaServer Faces应用程序开发角色
页面作者:使用JSF标记库创建页面。
应用程序开发者:编写自定义转换器、约束、监听器和后台bean。
组件作者:创建自定义UI组件和实施者(renderer)。
应用程序建造者:配置应用程序,包括定义导航规则、配置自定义对象和创建部署描述文件。
应用程序开发者:编写自定义转换器、约束、监听器和后台bean。
组件作者:创建自定义UI组件和实施者(renderer)。
应用程序建造者:配置应用程序,包括定义导航规则、配置自定义对象和创建部署描述文件。