什么是 JSF(JavaServer face)?

原文:https://www.geeksforgeeks.org/what-is-jsf-javaserver-faces/

JavaServer Faces 应用程序系统监督直接应用程序的生命周期阶段,并允许您以物理方式处理这些阶段。JavaServer Faces 应用程序的生命周期从客户对页面发出 HTTP 请求时开始,到工作人员对页面做出反应时结束。

JSF 生命周期分为两个基本阶段:

  1. 执行阶段
  2. 渲染阶段

1)执行阶段

在执行阶段,当进行第一次请求时,制造或重新建立应用种子。对于其他产生的需求,会执行不同的活动,例如应用请求边界 esteem,对部分 esteem 执行转换和批准,使用细分 esteem 刷新监督 beans,以及调用应用基本原理。

执行阶段还被划分为以下子阶段。

  • 还原视图阶段
  • 应用请求值阶段
  • 流程批准阶段
  • 更新模型质量阶段
  • 调用应用程序阶段
  • 渲染反应阶段

还原视图阶段:

当客户需要 JavaServer Faces 页面时,JavaServer Faces 的使用开始重新建立种子阶段。在这一阶段,JSF 在提到的页面上构建透视图,将场景监督者和验证者连接到视图中的片段,并将视图保存在 FacesContext 示例中。

如果页面的请求是回发,则在 FacesContext 示例中会有一个与此页面相关的视图。在这个阶段,JavaServer Faces 执行通过利用客户或工作人员节省的状态数据重新建立视图。

应用请求值阶段:

在此阶段,段树在回发请求期间重新建立。段树是结构元素的分类。树中的每一个部分都通过利用其解开(processDecodes())策略,将其新的激励从征集边界中移除。在那之后,价值会在每个细分市场上进行本地存储。

在当前人脸文本示例中,如果有任何解密技术或观众调用了渲染响应策略,JavaServer 人脸用法将跳转到渲染响应阶段。

在这个阶段,任何场合都有可能排队,JavaServer Faces 用法将这些场合传达给感兴趣的观众。

如果应用程序需要转移到另一个 web 应用程序资产,或者创建一个不包含任何 JavaServer Faces 段的反应,它可以调用 FacesContext.responseComplete()策略。

如果当前请求被识别为中途请求,则从 FacesContext 中恢复不完整的设置,并应用分数处理技术。

流程批准阶段:

在这一阶段,JavaServer Faces 通过使用其 approve()策略来测量在细分市场注册的所有验证者。它查看表明批准指导方针的细分市场,并考虑这些标准对该细分市场的近期价值的影响。JavaServer Faces 还完成了对没有将提示特征设置为有效的输入段的更改。

如果任何已批准策略或场合观众成员在当前 FacesContext 上调用了 renderResponse 技术,则 JavaServer Faces 执行将跳转到 Render response 阶段。

如果应用程序需要转移到另一个网络应用程序资产,或者产生一个不包含任何 JavaServer Faces 片段的反应,它可以调用 FacesContext.responseComplete 策略。

如果在这个阶段已经安排好了这些场合,JavaServer Faces 执行会将它们传达给感兴趣的观众。

如果当前请求被区分为部分请求,则从 FacesContext 中恢复中途设置,并应用不完整的处理策略。

更新模型质量阶段:

在保证信息是合法的之后,它导航零件树,并将比较工人端的文章属性设置为段的邻域属性。JavaServer Faces 用法只刷新信息部分的价值特征所指向的 bean 属性。如果附近的信息不能被转换为 bean 属性所指示的种类,生命周期就会直接推进到渲染反应阶段,这样页面就会被重新交付,并显示错误。

如果任何更新模型技术或任何观众成员在当前的 FacesContext 事件上调用了 renderResponse()策略,JavaServer Faces 用法将跳转到 Render response 阶段。

如果应用程序需要转移到另一个 web 应用程序资产,或者创建一个不包含任何 JavaServer Faces 段的反应,它可以调用 FacesContext.responseComplete()技术。

如果在这个阶段已经安排了任何场合,JavaServer Faces 执行会将它们传达给感兴趣的观众。

如果当前请求被区分为部分请求,则从 FacesContext 中恢复不完整的设置,并应用中途处理技术。

调用应用程序阶段:

在这个阶段,JSF 处理应用程序级的情况,例如,呈现一个结构或连接到另一个页面。

目前,如果应用程序需要转移到另一个 web 应用程序资产或产生不包含任何 JSF 片段的反应,它可以调用 FacesContext.responseComplete()技术。

从那时起,JavaServer Faces 的执行将控制转移到渲染反应阶段。

渲染反应阶段:

  • 这是 JSF 生命周期的最后一个阶段。在这个阶段,JSF 组装视图,并将权力委托给合适的资产来交付页面。
  • 如果这是一个潜在的请求,页面上的对话片段将被添加到零件树中。
  • 如果这不是一个潜在的请求,那么这些部分现在已经添加到树中,不需要再次添加。
  • 如果请求是回发,并且在应用请求评估阶段、周期批准阶段或更新模型质量阶段遇到错误,则在此阶段再次交付第一页。
  • 如果页面包含 h:message 或 h:messages 标签,页面上会显示任何有线条的错误消息。
  • 在传递视图的实质之后,反应的条件被保存,因此随后的请求可以到达它。“重新建立视图”阶段可以访问保存的状态。

2)渲染:

在这一阶段,所提到的 see 是作为对客户计划的反应而交付的。视图交付是一个循环,在这个循环中,输出被生成为 HTML 或 XHTML。这样,客户可以在程序中看到它。

  • 伴随的推进在渲染周期中进行。
  • 当客户要求 index.xhtml 页面时,应用程序是累积的。
  • 应用程序在排列后执行,为应用程序构建另一个段树,并放入 FacesContext 中。
  • 段树中填充了段和与之相关的监督 bean 属性,由 EL 发音对其说话。
  • 鉴于段树。组装了另一个视图。
  • 作为一种反应,视图被传递给提及的客户。
  • 片段树因此被粉碎。
  • 在随后的招标中,将修改细分树,并应用保存的状态。