javaEE 之 JSF与Facelets

JSF:一种构建java web的标准框架

JSF的生命周期分为运行阶段和渲染阶段两个主要的阶段

运行阶段

当第一次请求时,构建或恢复应用程序视图。对于其他后续请求,执行其他操作,执行阶段被划分成以下子阶段:

1、恢复视图阶段

2、应用请求值阶段

3、流程验证阶段

4、更新模型值阶段

5、调用应用阶段

6、渲染响应阶段

各个阶段的详细说明如下:

渲染阶段

在此阶段,请求的视图作为客服端浏览器的响应。视图渲染是以HTML或XHTML生成输出的过程。

在渲染过程中采取以下步骤:

1、当客服端对Index.XHTML网页进行初始请求时,编译应用程序。

2、应用程序在编译执行后,并为应用程序构建一个组件树,并放置在FacesContex中。

3、使用由EL表达式表示的组件和与其关联受托管bean属性填充组件树。

4、基于组件树,建立新视图。

5、该视图作为响应呈现给请求客服端。

6、组件树被自动销毁。

7、在后续请求中,重新构建组件树,并应用已保存的状态。

JSF生命周期中的事件处理例图:

在JSF应用程序中,JSF实现使用一个控制器servlet来处理请求,然后执行JSF的生命周期。JSF是基于事件驱动的 ,从“应用请求值阶段”开始,JSF实现会创建事件并在每个生命周期阶段间将其添加到事件队列中。

详细的阶段请见:https://www.yiibai.com/jsf/jsf-life-cycle.html

Facelets;

定义:

一种轻量级的页面声明语言。用于使用HTML样式构建JSF视图。是一种用来建立JSF应用程序时一个可供选择的表现层技术,它提供可供选择的强大的模板化系统,使用HTML样式的模板来定义JSF表现层,减少了组件整合进表现层时的冗余代码。

功能:

一:使用XHTML创建网页

二:除了支持JSF和JSLT标记库之外,还提供Facelets标签库

三:支持表达语言

四:使用组件和页面模板

详细请见:http://www.yiibai.com/jsf/facelets.html

原文地址:https://www.cnblogs.com/cowryw/p/8856138.html

时间: 2024-10-11 05:13:44

javaEE 之 JSF与Facelets的相关文章

jsf和facelets的生命周期

一.JSF生命周期 JSF是基于事件驱动.JSF生命周期分为两个主要阶段:执行阶段和渲染阶段. 1.执行阶段 分为六个阶段: 恢复视图阶段 当客户端请求一个JavaServer Faces页面时,JavaServer Faces实现开始恢复视图阶段. 在此阶段,JSF将视图中的组件构建为请求页面,线性事件处理程序和验证器的视图,并将视图保存在FacesContext实例中.如果对该页面的请求是回发,那么与该页面相对应的视图已经存在于FacesContext实例中. 在此阶段,JavaServer

Lifecycle of JSF and Facelets(第6周)

一:JSF生命周期 JSF是基于事件驱动.JSF生命周期分为两个主要阶段:执行阶段和渲染阶段. 具体可分为: 1 重建视图: 建立组件树,如果是首次渲染,则组件树被重置合适的状态;如果是首次渲染,则组件树被创建跳到响应阶段(JSF的组件树结构和DOM是一样的,只不过一个是client一个是server). 2 应用请求值: 树中的每个组件都能从请求参数中提取的新的值,并把值存储本地.为之后的处理所有与组件相关的事件进入队列,如果某个组件的immediate属性设置为true,那么验证,转换,以及

JSF中使用f:ajax标签无刷新页面改变数据

ajax本是用在前端的一种异步请求数据的操作,广泛用于js中,一般的js框架如jq都有被封装好的方法,用于发起异步请求操作.异步操作可以增强用户体验和操作,越来越多的程序都在使用ajax.JSF的facelets内置了一个ajax标签,可用于简单的ajax操作. f:ajax 有几个常用属性,分别是:event.listener.render. 1.event:event 对应一个js事件名,该事件名省略了开头的”on“字符,例如点击事件是onclick,那么只需要填入click即可.类似事件还

JBoss Seam 2.3.1新功能

jboss seam reference 2.3(第4章) jboss seam reference 2.3 Final    24.09.2012   第四章 从2.2迁移到2.3 在你开始Seam 2.3以前,有一些事情你应该注意.这个过程应该不是太痛苦--如果被卡住了,只是回来参考在Seam分发版中的更新Seam例子即可. 这个迁移指南假设你正在使用Seam2.2,如果你正从Seam 1.2 或 2.0迁移,请看jboss-seam-x.y.z.Final/seam2migration.t

[1]工欲善其事必先利其器-------UML的使用(一)

目录 什么是UML 为什么要使用UML UML基本模型图的介绍 现有哪些比较流行的UML工具 1.什么是UML: UML:Unified Modeling Language (UML)又称统一建模语言.为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置.UML是80年代末至90年代面向对象的设计与实现方法发展高潮的产物.它的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域.其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统.UML是

[it-ebooks]电子书列表

#### it-ebooks电子书质量不错,但搜索功能不是很好 #### 格式说明  [ ]中为年份      ||  前后是标题和副标题  #### [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Objective-C to develop iPhone games http://it-ebooks.info/book/3544/ Learning Web App Developmen

十二个UML工具

1. StarUML StarUML是一个开源UML项目,可以开发快速,灵活,可扩展,多功能并且免费的UML/MDA平台.此项目运行在Win32平台之上.StarUML项目的目标是成为Rational Rose.Together等商业UML工具的替代者. 2. Netbeans UML Plugin NetBeans UML插件目前支持以下UML图:活动图,类图,序列图,状态图,以及用例图.你可以在图编辑器中排列图,拖曳图案和类等等. 3. Acceleo Acceleo是一个代码生成器,可以将

开源UML工具推荐

1.StarUML StarUML是一个开源UML项目,可以开发快速,灵活,可扩展,多功能并且免费的UML/MDA平台.此项目运行在Win32平台之上.StarUML项目的目标是成为RationalRose.Together等商业UML工具的替代者. 2.NetbeansUMLPlugin NetBeansUML插件目前支持以下UML图:活动图,类图,序列图,状态图,以及用例图.你可以在图编辑器中排列图,拖曳图案和类等等. 3.Acceleo Acceleo是一个代码生成器,可以将模型转换成代码

十二个开源UML工具推荐

开源UML工具这些年发展的不错,以前那个连付费的商业UML工具也很少见的时代早已经过去.本文介绍了12个开源UML工具,功能各有一些不同,希望对读者有些帮助. AD: UML面向对象建模知识简介 UML对象关系学习总结 五个免费UML建模工具推荐 使用UML类图进行Java应用程序设计 UML基础: 统一建模语言简介 [51CTO快译]51CTO之前曾介绍过几个免费UML建模工具.本文再介绍几个免费的开源UML工具. 1. StarUML StarUML是一个开源UML项目,可以开发快速,灵活,