一、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)的更多相关文章

  1. JSF Web框架与Facelets表现层技术

    JSF(JavaServer Faces) JSF应用程序的生命周期从客户端对页面发出HTTP请求时开始,并在服务器响应页面时结束.JSF生命周期分为运行阶段和渲染阶段两个主要阶段. 执行阶段 当第一 ...

  2. 在RichFaces中使用Facelets模板

    在RichFaces中使用Facelets模板 目录 Facelets简介 Facelets标签 创建相应文件 Facelets简介 Facelets是用来构建JSF应用程序的默认视图技术.它为表现层 ...

  3. 纯手工搭建JSF开发环境(JSF2.2+maven+weblogic 12c/jboss EAP 6.1+)

    前言: JSF 2.X因为种种原因(我个人觉得主要是因为推出太晚),再加上EJB2之前的设计过于复杂,引起很多开发人员对官方解决方案的反感,即使EJB3后来做了大量改进,国内也很少有人对EJB3感兴趣 ...

  4. JSF 嵌套

    <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com ...

  5. JSF 抽象和实现例子 (函数和属性)

    ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/ ...

  6. JSF的ui标签

    在使用自己的tag时,首先需要在web.xml里面进行注册,注册方式是在web.xml开头加上:  <context-param>        <param-name>fac ...

  7. JSFのAjaxタグのoneventでbegin/complete/successを使う

    PrimeFacesに慣れてしまって.通常のHTMLタグでの記述方法がわからなかったりする点があった…ので.メモ. Ajaxでリクエスト送信のタイミングやレスポンスが戻るタイミングに何らか(JavaS ...

  8. JSF-使用JSF标记

    使用JSF标记 基于Facelets技术的JSF页面是一个 XHTML页面,文件扩展名为 .xhtml 1)JSF页面可用html标记,但必须满足: ①所有标记都必须闭合.如<p>开始,& ...

  9. Developing JSF applications with Spring Boot

    Developing JSF applications with Spring Boot Spring Boot can leverage any type of applications, not ...

随机推荐

  1. mysql 数据操作 多表查询 子查询 带EXISTS关键字的子查询

    带EXISTS关键字的子查询 EXISTS关字键字表示存在. EXISTS 判断某个sql语句的有没有查到结果 有就返回真  true 否则返回假 False 如果条件成立 返回另外一条sql语句的返 ...

  2. python 面向对象 isinstance

    查看某个对象是否 这个类实例 是返回True 否则返回False class Foo(object): pass obj = Foo() class Boo(object): pass print(i ...

  3. python __init__ 构造函数

    实例化过程 会执行__init__ 的函数方法 class SQLHelper: def __init__(self): # self = s1 print("helo") def ...

  4. js-template-art【三】js api

    一.js api使用 1.template(filename, data) 根据模板名渲染模板. var html = template('tplScriptId', { value: 'aui' } ...

  5. 给所有开发者的React Native详细入门指南

    建议先下载好资料后,再阅读本文.demo代码和资料下载 目录 一.前言 二.回答一些问题 1.为什么写此教程 2.本文适合哪些人看 3.如何使用本教程 4.需要先学习JavaScript.HTML.C ...

  6. Java基础方法

    1:读取resource下面的文件 ClassPathResource cpr = new ClassPathResource("./MyBatisXmlFile"); File ...

  7. java打印随机函数

    一 ,打印1-10的随机函数 public static void randomprint(){      for (int i=0;i<100;i++){          //打印一百次  ...

  8. C# 复杂格式多级深度XML序列化反序列化

     default.xml 文件如下: <config><partnerships>  <partnership name="Main_Listener" ...

  9. springcloud19---springCloudConfig

    Spring-cloud-config : 统一管理配置的组件,不同的环境不同的管理(连接池.数据库配置不一样).不同时间需要动态调整配置(双十一最大连接数要大). 分布式配置也可以使用config或 ...

  10. NET Framework 4.0无法安装!

    win7旗舰版无法安装CAD2012,安装NET Framework 4.0的时候就出现错误,安装NET Framework 4.0单独版也无法安装出现错误. 解决方法: 1.点击电脑桌面右下角的“开 ...