JSF教程

JSF 生命周期

JSF 应用程序生命周期由六个阶段组成,如下所示-
恢复查看阶段 应用请求值阶段;处理事件 流程验证阶段;处理事件 更新模型值阶段;处理事件 调用应用程序阶段;处理事件 呈现响应阶段 JSF 生命周期
这六个阶段显示了 JSF 处理表单的顺序。该列表显示了各个阶段的可能执行顺序以及每个阶段的事件处理。

第一阶段:恢复视图

只要单击链接或按钮并且 JSF 收到请求,JSF 就会开始恢复视图阶段。
在此阶段,JSF 构建视图,将事件处理程序和验证器连接到 UI 组件,并将视图保存在 FacesContext 实例中。 FacesContext 实例现在将包含处理请求所需的所有信息。

阶段 2:应用请求值

组件树创建/恢复后,组件树中的每个组件都使用 decode 方法从请求参数中提取其新值。组件存储此值。如果转换失败,则会生成一条错误消息并在 FacesContext 上排队。此消息将在呈现响应阶段以及任何验证错误期间显示。
如果在当前 FacesContext 实例上有任何称为 renderResponse 的解码方法事件侦听器,则 JSF 将进入渲染响应阶段。

阶段 3:流程验证

在此阶段,JSF 处理在组件树上注册的所有验证器。它检查用于验证的组件属性规则,并将这些规则与为组件存储的本地值进行比较。
如果本地值无效,JSF会向FacesContext实例添加错误信息,生命周期前进到渲染响应阶段,再次显示同一个页面,错误信息。

第 4 阶段:更新模型值

JSF 检查数据是否有效后,它遍历组件树并将相应的服务器端对象属性设置为组件的本地值。 JSF 将更新对应于输入组件的 value 属性的 bean 属性。
如果在当前 FacesContext 实例上有任何调用 renderResponse 的 updateModels 方法,JSF 将进入渲染响应阶段。

阶段 5:调用应用程序

在此阶段,JSF 处理任何应用程序级事件,例如提交表单/链接到另一个页面。

阶段 6:呈现响应

在此阶段,如果应用程序使用 JSP 页面,JSF 会要求容器/应用程序服务器呈现页面。对于初始请求,当 JSP 容器执行页面时,页面上表示的组件将添加到组件树中。如果这不是初始请求,则组件树已经构建,因此无需再次添加组件。在任何一种情况下,组件都会在 JSP 容器/应用服务器遍历页面中的标签时呈现自己。
视图的内容呈现后,响应状态被保存,以便后续请求可以访问它,并可供恢复视图阶段使用。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4