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 ...
随机推荐
- EA类图与代码同步
画了一段时间的图,愈发感觉到EA是一个强大的软件,而不不过一个绘图工具那么简单. . 随着学习时间的延长.如今写程序并不能像曾经一样随心所欲,想到什么就敲什么了,而是要先绘图(也就是理需求和思路的过程 ...
- EOS Dapp开发(1)-基于Docker的开发环境搭建
随着EOS主网的上线,相信基于EOS的Dapp开发会越来越多,查阅了很多资料相关的开发资料都不是很多,只能自己摸索,按照网上仅有的几篇教程,先git clonehttps://github.com/E ...
- hbase Java API 介绍及使用示例
几个相关类与HBase数据模型之间的对应关系 java类 HBase数据模型 HBaseAdmin 数据库(DataBase) HBaseConfiguration HTable 表(Table) ...
- (转)《SSO CAS单点系列》之 15分钟让你了解SSO技术到底是个什么鬼!
Web应用系统的演化总是从简单到复杂,从单功能到多功能模块再到多子系统方向发展. .当前的大中型Web互联网应用基本都是多系统组成的应用群,由多个web系统协同为用户提供服务. 多系统应用群,必然意味 ...
- Java多线程(三)
本文主要接着前面多线程的两篇文章总结Java多线程中的线程安全问题. 一.一个典型的Java线程安全例子 1 public class ThreadTest { 2 3 public static v ...
- 1.2 Getting Started--Naming Conventions(命名约定)
Ember.js使用一个运行时解析器去连接你的对象而没有很多样板文件.作为一个开发者,如果你把code放到约定好的位置这个解析器会自动工作. 一.The Application 1. 当你 ...
- VS2010/MFC编程入门之二十(常用控件:静态文本框)
上一节鸡啄米讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了.从本节开始鸡啄米将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组 ...
- 梅尔频率倒谱系数(MFCC) 学习笔记
最近学习音乐自动标注的过程中,看到了有关使用MFCC提取音频特征的内容,特地在网上找到资料,学习了一下相关内容.此笔记大部分内容摘自博文 http://blog.csdn.net/zouxy09/ar ...
- DB开发之mysql
1. MySQL 4.x版本及以上版本提供了全文检索支持,但是表的存储引擎类型必须为MyISAM,以下是建表SQL,注意其中显式设置了存储引擎类型 CREATE TABLE articles ( id ...
- WdatePicker显示乱码
1.修改zh-cn.js内容: var $lang={ errAlertMsg: "不合法的日期格式或者日期超出限定范围,需要撤销吗?", aWeekStr: ["周&q ...