JavaServer Faces

JavaServer Faces
当前版本
  • 4.0.0 (2022年5月19日)[1]
編輯維基數據鏈接
源代码库
  • github.com/jakartaee/faces
編輯維基數據鏈接
编程语言Java
类型Web应用框架
许可协议
編輯維基數據鏈接
网站javaee.github.io/javaserverfaces-spec/

JavaServer FacesJSF)是一个为网络应用程序构建基于组件用户界面的Java规范[2],并已通过JCP格式化为Java EE的一部分。它也是一个MVC Web应用框架,通过在页面中使用可重用的UI组件简化了基于服务器的应用程序的用户界面(UI)。[3]

版本

  • JSF 2.3 (2017-03-28) — Major features: search Expressions, extensionless URLs, bean validation for complete classes, push communication using WebSocket, enhanced integration with CDI.
  • 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)。
  • 应用程序建造者:配置应用程序,包括定义导航规则、配置自定义对象和创建部署描述文件。

参见

参考资料

  1. ^ Release 4.0.0. 2022年5月19日 [2022年10月24日]. 
  2. ^ JavaServer Faces Technology. [2017-05-09]. (原始内容存档于2010-08-19). 
  3. ^ JSF 2.0 Tutorial (HTML). mkyong. 2010-12-12 [2017-04-28]. (原始内容存档于2020-11-12). JavaServer Faces (JSF) 2.0, is an MVC web framework which focus on simplifies building user interfaces (comes with 100+ ready UI tags) for Java web application and make reusable UI component easy to implement. 

外部链接

维基共享资源上的相关多媒体资源:JavaServer Faces
  • Brief review (页面存档备份,存于互联网档案馆) on the latest changes to JSF 2.0 to be reflected in Java EE 6
  • Cloud Tutorial - JavaServer Faces in a Day JSF Tutorial that embraces the use of a Cloud IDE to let you learn the fundamentals of JSF in just one day
  • Core Servlets JSF Tutorials (页面存档备份,存于互联网档案馆) Tutorials with Source Code
  • ICEfaces (页面存档备份,存于互联网档案馆) Official site of the ICEfaces Open Source Project
  • James Holmes' JSF Resources (页面存档备份,存于互联网档案馆) Extensive listing of JSF articles, blog entries, tutorials, and more
  • Java EE 4 Tutorial (页面存档备份,存于互联网档案馆) Chapter 17: JavaServer Faces Technology (页面存档备份,存于互联网档案馆
  • Java EE 5 Tutorial (页面存档备份,存于互联网档案馆) Chapter 10: JavaServer Faces Technology (页面存档备份,存于互联网档案馆
  • Java EE 6 Tutorial (页面存档备份,存于互联网档案馆) Chapter 4: JavaServer Faces Technology (页面存档备份,存于互联网档案馆
  • Java EE 7 Tutorial Chapter 7: JavaServer Faces Technology (页面存档备份,存于互联网档案馆
  • JSF Central (页面存档备份,存于互联网档案馆) JavaServer Faces Community
  • JSF Matrix listing various JSF implementations and their features
  • JSF Tutorial Sitenol (页面存档备份,存于互联网档案馆) JSF tutorials, examples and good email support for coding problems
  • JSF Tutorials Memorynotfound JSF tutorials, Code Examples, Best Practices
  • JSF Tutorials, Examples and Articles catalog
  • JSR 276 (页面存档备份,存于互联网档案馆) Design-Time Metadata for JavaServer Faces Components
  • 官方网站 在维基数据上编辑此内容JSF在java.net上的项目页面
  • PrimeFaces (页面存档备份,存于互联网档案馆) Official site PrimeFaces
C++
  • CppCMS英语CppCMS
  • Wt英语Wt (web toolkit)
CLI
  • ASP.NET
    • Core
    • AJAX
    • 动态数据英语ASP.NET Dynamic Data
    • MVC
    • Razor英语ASP.NET Razor
    • Web Forms
  • DNN英语DotNetNuke
  • BFC英语Base One Foundation Component Library
  • MonoRail英语MonoRail (software)
  • OpenRasta英语OpenRasta
  • Umbraco
ColdFusion
  • CFWheels
  • ColdBox Platform英语ColdBox Platform
  • ColdSpring英语ColdSpring Framework
  • Fusebox英语Fusebox (programming)
  • Mach-II英语Mach-II
  • Model-Glue英语Model-Glue
Common Lisp
  • Caveman2英语Caveman2
  • CL-HTTP英语CL-HTTP
  • UnCommon Web英语UnCommon Web
  • Weblocks
D
  • Vibe.d英语Vibe.d
Haskell
  • Happstack英语Happstack
  • Yesod英语Yesod (web framework)
  • Snap英语Snap (web framework)
Java
  • AppFuse英语AppFuse
  • Flexive英语Flexive
  • Grails英语Grails (framework)
  • GWT
  • ICEfaces英语ICEfaces
  • ItsNat英语ItsNat
  • JavaServer Faces
  • JHipster英语JHipster
  • Jspx英语Jspx-bay
  • JWt英语JWt (Java web toolkit)
  • OpenXava英语OpenXava
  • Play
  • Reasonable Server Faces英语Reasonable Server Faces
  • Remote Application Platform英语Remote Application Platform
  • RIFE英语RIFE
  • Seam英语JBoss Seam
  • Spring
  • Stripes英语Stripes (framework)
  • Struts
  • Tapestry
  • Vaadin英语Vaadin
  • Vert.x
  • WebWork英语WebWork
  • Wicket
  • WaveMaker英语WaveMaker
  • ZK
JavaScript
  • Ample SDK英语Ample SDK
  • Angular英语Angular (application platform)/AngularJS
  • Backbone.js
  • Chaplin.js英语Chaplin.js
  • Closure英语Google Closure Tools
  • Dojo Toolkit
  • Ember.js
  • Extjs
  • JQuery
  • Meteor英语Meteor (web framework)
  • MooTools英语MooTools
  • Node.js
  • Prototype
  • React
  • Rico
  • script.aculo.us英语script.aculo.us
  • Sencha Touch英语Sencha Touch
  • SproutCore英语SproutCore
  • Vue.js
  • Wakanda英语Wakanda (software)
Perl
  • Catalyst
  • Dancer英语Dancer (software)
  • Mason英语Mason (Perl)
  • Maypole
  • Mojolicious英语Mojolicious
  • WebGUI
PHP
  • CakePHP英语CakePHP
  • CodeIgniter
  • Fat-Free
  • FuelPHP
  • Gyroscope英语Gyroscope (software)
  • Horde英语Horde (software)
  • Kohana英语Kohana (framework)
  • Laravel
  • Lithium英语Lithium (software)
  • Midgard英语Midgard (software)
  • MODX英语MODX
  • Nette英语Nette Framework
  • Phalcon
  • PRADO英语PRADO (framework)
  • Qcodo英语Qcodo
  • Silex英语Silex (web framework)
  • SilverStripe
  • Symfony
  • TYPO3
  • Xaraya英语Xaraya
  • XOOPS
  • Yii英语Yii
  • Zend framework
Python
Ruby
  • Camping英语Camping (microframework)
  • Merb英语Merb
  • Padrino英语Padrino (web framework)
  • Ruby on Rails
  • Sinatra英语Sinatra (software)
Rust
  • Yew
Scala
  • Lift
  • Play
  • Scalatra英语Scalatra
Smalltalk
  • AIDA/Web英语AIDA/Web
  • Seaside英语Seaside (software)
其他语言
  • Application Express英语Oracle Application ExpressPL-SQL
  • Grails英语Grails (framework)Groovy
  • Kepler英语Kepler (software)Lua
  • OpenACS英语OpenACSTcl
  • Phoenix英语Phoenix (web framework)Elixir
  • SproutCore英语SproutCoreJavaScript-Ruby
  • YawsErlang
规范控制数据库: 各地 編輯維基數據鏈接
  • 德国