当前位置:首页 > 开发 > 编程语言 > Java > 正文

[Java EE 7] JSF 请求的生命周期

发表于: 2014-04-15   作者:cucaracha   来源:转载   浏览次数:
摘要: JSF 定义了标准的请求处理声明周期。开发人员了解相关知识可以帮助理解例如验证、数据转换、事件处理等操作会在哪个阶段被执行。 JSF 页面通过 UI 组件树进行展示,称作视图(view)。当客户端发起页面请求后,生命周期开始。在整个生命周期过程中,JSF 需要根据之前保存的状态来生成页面。当客户端提交页面的时候,JSF 必须执行几个任务,比如验证视图组件中的输入数据、转换客户端输入的数据为服
JSF 定义了标准的请求处理声明周期。开发人员了解相关知识可以帮助理解例如验证、数据转换、事件处理等操作会在哪个阶段被执行。

JSF 页面通过 UI 组件树进行展示,称作视图(view)。当客户端发起页面请求后,生命周期开始。在整个生命周期过程中,JSF 需要根据之前保存的状态来生成页面。当客户端提交页面的时候,JSF 必须执行几个任务,比如验证视图组件中的输入数据、转换客户端输入的数据为服务端定义的类型、绑定数据到后台 bean。JSF 执行这些任务是通过生命周期中的几个步骤。

不同的应用程序组件都需要经过以下生命周期:

恢复视图

恢复和创建服务端组件树,用于展示客户端的 UI 信息。

如果客户端第一次请求到某个 URL,那么会创建一个新的 View 对象用于展示,这个视图会保存到当前的 FacesContext 中。如果已经在 FacesContext 找到视图对象,那么就会恢复视图并进行展示。

任何 UI 组件上的自定义转换器、验证器、渲染器也都会在这个时期被恢复。如果 UI 组件上的值直接映射到了后台 bean 的某个属性,那么属性值将会加载并且与 view 关联。大多数的这些操作都会 ViewHandler.restoreView 中进行。

接收请求值

这个时期会根据客户端提交的请求参数、header、cookie 来更新服务器端组件。

更准确地说,会调用所有组件的 UIComponent.processDecodes 方法。

验证处理

这个时期会处理 UIComponent 配置的验证和转换。

在这个时期,所有组件的 UIComponent.processValidators 方法将会被调用。如果验证和转换过程中出现错误,此生命周期将会结束并向客户端展示错误信息。

更新数据模型

到这个时候,说明数据验证已经通过。

UIComponent 的值将会同步到模型对象,通常是后台 Bean。在这个时期,将会调用所有组件的 UIComponent.processUpdates 方法。设置模型对象的值有可能导致事件排队或触发。

调用应用


调用业务逻辑和进行页面导航处理。

所有注册到 UIComponent 上的监听器将会被调用。例如,所有的像 command button 或 hyperlink 这样拥有默认事件监听器的 action 组件,它们的事件监听器将会在这个时期被调用。

渲染响应


渲染响应到客户端。

在渲染响应之前,应用程序会自动调用 View 的 UIViewRoot.saveState 方法保存状态。

文章来源: http://www.aptusource.org/2014/04/java-ee-7-request-processing-life-cycle-phases/

[Java EE 7] JSF 请求的生命周期

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
一直都想要把各个版本的Java EE平台技术或叫组件整理一下,对比一下各个版本提供的组件支持。 现整
作为下一代WEB框架标准,JSF在视图颗粒度与生命周期规划方面都做的不错。 对于生命周期的执行,所有
作为下一代WEB框架标准,JSF在视图颗粒度与生命周期规划方面都做的不错。 对于生命周期的执行,所有
JPA即Java Persistence API,是Java EE中针对持久化数据提供的规范。在使用JPA中,我们经常会提到En
这是jsf 的分析系列第三篇,随着不断的深入,jsf的设计变得越来越清晰。当然,在目前的规范中,jsf
网上找JSF生命周期图,很久了都没中文版的,只好自己画了个: 用免费的画图软件做的:http://cn.edr
JSF生命周期概述 JSF 程序生命周期的 5 个阶段如下(注意每个阶段的事件处理): 恢复视图 应用请求
JSF生命周期概述 JSF 程序生命周期的 5 个阶段如下(注意每个阶段的事件处理): 恢复视图 应用请求
这是jsf 的分析系列第三篇,随着不断的深入,jsf的设计变得越来越清晰。当然,在目前的规范中,jsf
JSF实现使用一个控制器servlet 来处理请求,然后执行 JSF 生命周期.如图显示了JSF 生命周期中的事件
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号