Life Cycle(JSF+Facelets)
一、JSF Life Cycle:
图1
图2
应用程序的生命周期是指应用程序的各个阶段,从开始到结束。所有应用程序的生命周期。在web应用程序生命周期中,执行常见任务,包括以下内容。
■处理传入的请求
■解码参数
■修改和保存状态
■呈现网页浏览器的JavaServer Faces web应用程序框架管理生命周期阶段自动对于简单的应用程序或允许您根据需要手动管理他们对于更复杂的应用程序。
JavaServer面对使用高级特性的应用程序可能需要在某些阶段与生命周期进行交互。例如,Ajax应用程序使用生命周期的部分处理特性(参见部分处理和部分呈现)。对生命周期阶段的更清晰的理解是创建设计良好的组件的关键。在一个简单的JavaServer faces应用程序中介绍了JavaServer faces生命周期的一个简化视图,它包含了一个JavaServer faces web应用程序的两个主要阶段。
JavaServer Faces应用程序的生命周期从客户端对页面发出HTTP请求开始,到服务器响应页面时结束,然后转换为HTML。生命周期可以分为两个主要阶段:执行和呈现。执行阶段进一步划分为子阶段,以支持复杂的组件树。该结构要求将组件数据转换和验证,处理组件事件,并以有序的方式将组件数据传播到bean。JavaServer Faces页面由一棵名为view的组件树表示。在生命周期中,JavaServer Faces实现必须在考虑从先前提交的页面中保存的状态时构建视图。当客户端请求一个页面时,JavaServer Faces实现执行几个任务,例如验证视图中组件的数据输入,并将输入数据转换为在服务器端指定的类型。JavaServer Faces实现执行所有这些任务,因为JavaServer中的一系列步骤都面临请求-响应生命周期。图7-3演示了这些步骤。
二、Facelets Life Cycle:
JavaServer Faces规范定义了JavaServer Faces应用程序的生命周期。有关此生命周期的更多信息,请参见JavaServer Faces应用程序的生命周期。下面的步骤描述了应用于基于facelet的应用程序的过程。
1.当客户端(例如浏览器)向使用Facelets创建的页面发出新的请求时,将创建新的组件树或javax.faces.component.UIViewRoot,并将其放置在FacesContext中。
2.UIViewRoot应用于Facelets,视图中填充了用于呈现的组件。
3.新构建的视图作为对客户机的响应返回。
4.在呈现时,此视图的状态存储为下一个请求。存储输入组件和表单数据的状态。
5.客户端可以与视图交互,并从JavaServer Faces应用程序请求另一个视图或更改。此时,保存的视图从存储状态恢复。
6.恢复的视图再一次通过JavaServer Faces生命周期,它最终将生成一个新的视图,或者重新呈现当前视图,如果没有验证问题,并且没有触发操作。
7.如果请求相同的视图,则再次呈现存储视图。
8.如果请求新视图,则继续执行步骤2中描述的流程。
9.然后将新视图作为对客户机的响应返回。
Life Cycle(JSF+Facelets)的更多相关文章
- JSF Web框架与Facelets表现层技术
JSF(JavaServer Faces) JSF应用程序的生命周期从客户端对页面发出HTTP请求时开始,并在服务器响应页面时结束.JSF生命周期分为运行阶段和渲染阶段两个主要阶段. 执行阶段 当第一 ...
- 在RichFaces中使用Facelets模板
在RichFaces中使用Facelets模板 目录 Facelets简介 Facelets标签 创建相应文件 Facelets简介 Facelets是用来构建JSF应用程序的默认视图技术.它为表现层 ...
- 纯手工搭建JSF开发环境(JSF2.2+maven+weblogic 12c/jboss EAP 6.1+)
前言: JSF 2.X因为种种原因(我个人觉得主要是因为推出太晚),再加上EJB2之前的设计过于复杂,引起很多开发人员对官方解决方案的反感,即使EJB3后来做了大量改进,国内也很少有人对EJB3感兴趣 ...
- JSF 嵌套
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com ...
- JSF 抽象和实现例子 (函数和属性)
ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/ ...
- JSF的ui标签
在使用自己的tag时,首先需要在web.xml里面进行注册,注册方式是在web.xml开头加上: <context-param> <param-name>fac ...
- JSFのAjaxタグのoneventでbegin/complete/successを使う
PrimeFacesに慣れてしまって.通常のHTMLタグでの記述方法がわからなかったりする点があった…ので.メモ. Ajaxでリクエスト送信のタイミングやレスポンスが戻るタイミングに何らか(JavaS ...
- JSF-使用JSF标记
使用JSF标记 基于Facelets技术的JSF页面是一个 XHTML页面,文件扩展名为 .xhtml 1)JSF页面可用html标记,但必须满足: ①所有标记都必须闭合.如<p>开始,& ...
- Developing JSF applications with Spring Boot
Developing JSF applications with Spring Boot Spring Boot can leverage any type of applications, not ...
随机推荐
- Nginx 设置临时维护页面
Nginx 设置临时维护页面 http://www.myexception.cn/open-source/1753957.html http://blog.justwd.net/snippets/ng ...
- Docker 随笔
设置镜像时区 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo 'Asia/Shanghai' >/etc ...
- 测试人必备:国内外最好用的6款Bug跟踪管理系统
在移动互联网产品中,Bug会导致软件产品在某种程度上不能满足用户的需要.确保一个项目进展顺利,关键在于妥善处理软件中的BUG,那么,如何高效的管理BUG,解决BUG?在这里,我为大家搜集了几款优秀的B ...
- springcloud15---zuul-fallback
package com.itmuch.cloud; import org.springframework.boot.SpringApplication; import org.springframew ...
- Centos75下samba搭建配置
工作中,很经常需要把Linux服务器上的文件共享到windows上面,这时候需要在Linux服务器上安装samba套件. samba服务很好的实现了windows和linux之间的文件共享. 下面配置 ...
- 五,动态库(dll)的封装与使用
在项目开发中,我们经常会使用到动态库(dll),要么是使用别人的动态库,要么是将功能函数封装为动态库给别人用.那么如何封装和使用动态库呢?以下内容为你讲解. 1.动态库的封装 以vs2010为例,我们 ...
- SqlServer2012数据导入
1.选择数据库,右击[任务]-->[导入数据]: 2.选择对应的数据源,和数据文件,下一步: 3.填写服务器地址,和数据库的登录信息,选择数据库名称: 4.复制一个或多个表或试图的数据: 5.将 ...
- 根据Bootstrap的Modal开发的提示框
代码: (function ($) { $(function () { var Modal = function () { var htmlContent = "<div id=\&q ...
- 【日志】修改redis日志路径
redis默认不记录log文件,需要在Redis.conf文件,找到loglevel notice,在其后的logfile "",双引号中,写redis的路径"/redi ...
- about SpringBoot学习后记
<SpringBoot实战>第一章节入门的名称为Spring风云再起 看起来Spring的功能确实受Java开发者喜爱 在SpringBoot中,继续将Spring框架做了另一次的封装使框 ...