📜  什么是 JSF(JavaServer Faces)?

📅  最后修改于: 2022-05-13 01:55:19.762000             🧑  作者: Mango

什么是 JSF(JavaServer Faces)?

JavaServer Faces 应用程序系统因此为简单的应用程序监督生命周期阶段,并允许您进行物理处理。 JavaServer Faces 应用程序的生命周期在客户对页面发出 HTTP 请求时开始,并在工作人员对页面做出反应时关闭。

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

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

1) 执行阶段

在执行阶段,当进行第一次请求时,申请表被伪造或重新建立。对于其他由此产生的需求,执行不同的活动,例如应用请求边界值、为部分值执行转换和批准、使用段值刷新受监督的 bean 并调用应用程序原理。

执行阶段另外分为以下子阶段。

  • 恢复视图阶段
  • 应用请求值阶段
  • 流程审批阶段
  • 更新模型质量阶段
  • 调用应用阶段
  • 渲染反应阶段

恢复视图阶段:

当客户需要 JavaServer Faces 页面时,JavaServer Faces 使用开始重建查看阶段。在这个阶段,JSF 在提到的页面上构建透视图,将事件监督器和验证器连接到视图中的段,并将视图保存在 FacesContext 示例中。

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

应用请求值阶段:

在这个阶段,在回发需求期间重新建立段树。段树是结构元素的分类。树中的每个段通过利用其解开(processDecodes())策略从请求边界中删除其新激励。之后,每个细分市场的价值都会在本地存放。

如果任何解密技术或场合观众成员在当前 FacesContext 示例中调用了 renderResponse 策略,JavaServer Faces 的使用将跳转到 Render Reaction 阶段。

万一在此阶段出现任何场合,JavaServer Faces 用法会将这些场合传达给感兴趣的观众。

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

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

流程审批阶段:

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

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

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

如果在此阶段出现这种情况,JavaServer Faces 执行会将它们传达给感兴趣的观众。

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

更新模型质量阶段:

在保证信息是合法的之后,它导航部件树并将比较工人端的文章属性设置为段的邻域自尊。 JavaServer Faces 用法仅刷新信息部分的价值特征所指向的 bean 属性。如果附近的信息无法更改为 bean 属性指示的排序,生命周期会直接推进到渲染反应阶段,因此页面会重新交付并显示错误。

如果任何 updateModels 技术或任何受众成员在当前 FacesContext 事件中调用了 renderResponse() 策略,JavaServer Faces 的使用就会跳转到 Render Reaction 阶段。

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

如果在此阶段出现了任何情况,JavaServer Faces 执行会将它们传达给感兴趣的观众。

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

调用应用程序阶段:

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

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

从那时起,JavaServer Faces 执行将控制转移到 Render Reaction 阶段。

渲染反应阶段:

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

2)渲染:

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

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