生命周期处理两种请求:初始请求和回发。当用户首次请求页面时,他或她正在首次请求该页面。当用户执行回发时,由于执行初始请求,他或她会提交以前加载到浏览器中的页面中包含的表单。当生命周期处理初始请求时,它仅执行恢复视图和呈现响应阶段,因为没有用户输入或要处理的操作。相反,当生命周期处理回发时,它会执行所有阶段。

1.恢复查看

构建视图根并保存到FacesContext中,包括事件处理程序和验证程序

如果这是最初的需求,则创建空视图并且生命周期提前直接呈现响应。

2.应用请求值

组件从请求参数中提取新值。类型转换发生在这个阶段。

如果在FacesContext上调用renderResponse,则跳至呈现响应阶段。

可以调用FacesContext.responseComplete,并重定向到不同的Web应用程序

如果立即设置为true,则验证,转换,事件将在阶段中处理。

3.过程验证

在组件上注册的进程验证器。如果有任何错误消息,则生命周期直接进入呈现响应阶段。

如果调用FacesContext.renderResponse,则跳至呈现响应阶段

如果调用FacesContext.responseComplete,则重定向到不同的Web应用程序

4.更新模型值

更新组件值来管理bean属性

类似于FacesContext.responseComplete

类似于FacesContext.renderResponse

5.调用应用程序

处理应用程序级别的事件

类似于FacesContext.responseComplete

6.渲染响应

如果使用JSP页面,组件将在JSP容器遍历页面中的标签时自行呈现。

如果这是初始请求,那么在JSP容器执行页面时,页面上显示的组件将被添加到组件树中。

参考:https://blog.csdn.net/echohfut

生命周期--JSF的更多相关文章

  1. jsf和facelets的生命周期

    一.JSF生命周期 JSF是基于事件驱动.JSF生命周期分为两个主要阶段:执行阶段和渲染阶段. 1.执行阶段 分为六个阶段: 恢复视图阶段 当客户端请求一个JavaServer Faces页面时,Ja ...

  2. atitit.提升开发效率---使用服务器控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比较

    atitit.提升开发效率---使用服务器控件生命周期  asp.net 11个阶段  java jsf 的6个阶段比较 如下列举了服务器控件生命周期所要经历的11个阶段. (1)初始化-- --在此 ...

  3. JSF教程(10)——生命周期之Update Model Values Phase

    在整个JSF生命周期中经历了取值.验证的阶段终于从request中拿到合理的值,以下就是在本阶段给相应的服务端对象(ManageBean)赋值了.JSF实现仅仅是去更新和input组件中value属性 ...

  4. JSF教程(9)——生命周期之Process Validations Phase

    在这个过程其中JSF的实现者使用processValidators方法处理全部在tree中的组件中注冊的验证器.验证的过程就是通过每一个组件已有的规则对其已经保存的值进行校验,同一时候也对输入的值进行 ...

  5. JSF生命周期&Facelets的生命周期

    1.JSF生命周期 1)恢复视图(Restore View) 视图表示组成特定页面的所有组件.它被保存在 客户端(通常存储在隐藏字段中)或服务器中(通常在会话中).根据请求访问的视图ID(页面地址), ...

  6. 标准JSF的生命周期

    JavaServer Faces (JSF) 是一种用于构建Java Web 应用程序的标准框架.它提供了一种以组件为中心的用户界面(UI)构建方法,从而简化了Java服务器端应用程序的开发.它的生命 ...

  7. jsf的运行原理及生命周期

    一.jsf(java server faces)的运行原理(工作方式) 1.jsf应用是事件驱动的,当一个事件发生时(比如用户单击一个按钮),事件通知通过HTTP发往服务器,服务器端使用叫做Faces ...

  8. JSF控件的immediate属性和页面生命周期

    JSF中的控件基本都有immediate属性,对于这个属性的使用总结如下,更详细内容可参考Oracle官方文档. 1,为了更好的理解immediate属性,先看一下JSF页面的生命周期: JSF页面的 ...

  9. atitit.提升开发效率---使用server控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比較

    atitit.提升开发效率---使用server控件生命周期  asp.net 11个阶段  java jsf 的6个阶段比較 例如以下列举了server控件生命周期所要经历的11个阶段. (1)初始 ...

随机推荐

  1. web.xml的学习

    web.xml 文件提供有关包含 Web 应用程序的 Web 组件的配置和部署信息. Java Servlet 规范根据 XML 模式文档来定义 web.xml 部署描述符文件.为了获取向后兼容性,W ...

  2. BZOJ-3208|记忆化搜索-花神的秒题计划Ⅰ

    背景[backboard]: Memphis等一群蒟蒻出题中,花神凑过来秒题-- 描述[discribe]: 花花山峰峦起伏,峰顶常年被雪,Memphis打算帮花花山风景区的人员开发一个滑雪项目. 我 ...

  3. fusion使用——程序集绑定冲突工具

    1.以管理员身份运行vs命令提示符 2.运行 fuslogvw 3.以管理员身份运行Powershell To Enable:(确保fusion日志的文件夹D:\FusionLog\的存在) Set- ...

  4. Linear Regression with machine learning methods

    Ha, it's English time, let's spend a few minutes to learn a simple machine learning example in a sim ...

  5. Unity3d外包公司|UE4外包公司:谷歌首款Daydream VR设备上手

    这款售价仅为79美元(约合人民币525元)的产品内含“够用”的手柄和一台头戴设备,只要你有一台支持月日,10月5日,dream平台的手机(未来将成为安卓平台的标配),就能体验VR的乐趣. 即使该产品最 ...

  6. 《Java8实战》读书笔记

    个人感悟: 1.lambda表达式,补充了JAVA在面向对象之外,面向过程的一面.在写面向过程代码的时候更方面了,甚至可以利用代码来做类似数学公式的运算(P64) 2.流,对集合的操作,就像用SQL对 ...

  7. tail -f 报错 file truncated

    操作: 循环覆盖向tmp 文件写入坐标 tmp: -45.6976089525,-26.1528715421,-0.0188627654187 报错如下: -15.2517398838,-5.1216 ...

  8. react项目中实现悬浮(hover)在按钮上时在旁边显示提示

    <i className={classNames({ 'device-icon': true, 'camera-icon': true, 'camera-icon-hover-show-intr ...

  9. roc曲线和auc

    只是为了复习一下,在评价分类器的性能好坏时,通常用recall和precision, PS:CNN做图像分类还是用了loss 和 accuracy 使用ROC的目的在于更好的(直观+量化)评价分类模型 ...

  10. snakemake使用小结

    首先在linux 里配置conda 下载 wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.3.1-Linu ...