JavaServer Faces 生命周期2024 年 8 月 29 日 | 5 分钟阅读 JavaServer Faces 应用框架自动管理简单应用的生命周期,也允许您手动管理。 JavaServer Faces 应用的生命周期从客户端发出页面 HTTP 请求开始,到服务器使用页面响应结束。 JSF 生命周期分为两个主要阶段
1) 执行阶段在执行阶段,当发出第一个请求时,构建或恢复应用视图。对于其他后续请求,会执行其他操作,如应用请求参数值,对组件值进行转换和验证,使用组件值更新托管 Bean,并调用应用逻辑。 执行阶段进一步细分为以下子阶段。
恢复视图阶段当客户端请求 JavaServer Faces 页面时,JavaServer Faces 实现开始恢复视图阶段。 在此阶段,JSF 构建请求页面的视图,将事件处理程序和验证器连接到视图中的组件,并将视图保存在 FacesContext 实例中。 如果页面请求是回发,则与此页面对应的视图已存在于 FacesContext 实例中。在此阶段,JavaServer Faces 实现通过使用在客户端或服务器上保存的状态信息来恢复视图。 应用请求值阶段在此阶段,在回发请求期间恢复组件树。组件树是表单元素的集合。树中的每个组件通过使用其 decode (processDecodes()) 方法从请求参数中提取其新值。之后,该值在每个组件上本地存储。
处理验证阶段在此阶段,JavaServer Faces 使用其 validate () 方法处理在组件上注册的所有验证器。它检查指定验证规则的组件属性,并将这些规则与为组件存储的本地值进行比较。JavaServer Faces 还为未将 immediate 属性设置为 true 的输入组件完成转换。
更新模型值阶段在确保数据有效后,它遍历组件树,并将相应的服务器端对象属性设置为组件的本地值。 JavaServer Faces 实现仅更新由输入组件的 value 属性指向的 Bean 属性。 如果本地数据无法转换为 Bean 属性指定的类型,则生命周期直接进入渲染响应阶段,以便重新渲染页面并显示错误。
调用应用阶段在此阶段,JSF 处理应用级别的事件,例如提交表单或链接到另一个页面。 现在,如果应用需要重定向到不同的 Web 应用资源或生成不包含任何 JSF 组件的响应,它可以调用 FacesContext.responseComplete() 方法。 之后,JavaServer Faces 实现将控制权转移到渲染响应阶段。 渲染响应阶段这是 JSF 生命周期的最后阶段。 在此阶段,JSF 构建视图并将权限委托给适当的资源以渲染页面。
2) 渲染在此阶段,请求的视图作为对客户端浏览器的响应呈现。 视图呈现是一个生成 HTML 或 XHTML 输出的过程。因此,用户可以在浏览器中看到它。 在呈现过程中会采取以下步骤。
下一主题JSF 托管 Bean |
我们请求您订阅我们的新闻通讯以获取最新更新。