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

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. Android5.0新特性之——控件移动动画(初级)

    最近开发,UI大牛们设计了好多很炫酷吊炸天的动画,不由得重新学习了一下5.0的ObjectAnimator动画. ObjectAnimator动画的原理,通过反射控件的setXXX方法,改变控件的实际 ...

  2. 在CAcUiTabChildDialog中使用点取或者(拾取)时卡住的问题

    问题描述:在Tab的对话框中,其子对话框CAcUiTabChildDialog中用点取或者(拾取)时卡住的问题 在子对话框中: BeginEditorCommand(); CompleteEditor ...

  3. Linux根目录下各个目录的用途及含义

    Linux根目录下各个目录的用途及含义 Linux ./bin 重要的二进制 (binary) 应用程序,包含二进制文件,系统的所有用户使用的命令都在这个目录下. ./boot 启动 (boot) 配 ...

  4. PostgreSQL 与 PostGIS

    PostgreSQL 是一种对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大.特性最丰富和最复杂的自由软件数据库系统.它起源于伯克利(BSD)的数据库研究计划,目前是最重要的开源数据库产 ...

  5. Java问题解决:"错误: 找不到或无法加载主类"

    参考资料:https://www.cnblogs.com/wangxiaoha/p/6293340.html 场景: 使用java命令运行.class文件时出现:“错误: 找不到或无法加载主类”: 解 ...

  6. Jenkins部署的时候报错

    拿了一个最简单的,好不容易maven开始跑了 最终给我报错了 [INFO] -------------------------------------------------------------- ...

  7. Demo整合

    1.图片上传:  https://github.com/842549829/WebUploader 2.百度编辑器: https://github.com/842549829/Ueditor 3.安卓 ...

  8. Phpstorm数组对齐设置

    进入 Editor > Code Style > PHP > Wrapping and Braces , 勾选 Align consecutive assignments 和 Ali ...

  9. 雷林鹏分享:jQuery EasyUI 数据网格 - 自定义分页

    jQuery EasyUI 数据网格 - 自定义分页 数据网格(datagrid)内置一个很好特性的分页功能,自定义也相当简单.在本教程中,我们将创建一个数据网格(datagrid),并在分页工具栏上 ...

  10. CentOS7服务管理

    1.在/usr/lib/systemd/system目录下建立服务启动文件,文件格式:[root@Centos7 ]# cat /usr/lib/systemd/system/nginx.servic ...