Java EE(六)

JSF生命周期:

https://blog.csdn.net/gaotianyaoyue/article/details/4275282

JSF 应用程序生命周期的六个阶段是:

1.     恢复视图

2.     应用请求值;处理事件

3.     处理检验;处理事件

4.     更新模型值;处理事件

5.     调用应用程序;处理事件

6.     显示响应

这六个阶段是 JSF 处理表单 GUI 的一般次序。这个列表按照每个阶段可能的执行次序和事件处理进行排列,但是 JSF 生命周期并不是固定的。可以改变执行的次序,跳过某些阶段或完全脱离生命周期。例如,如果一个无效的请求值被复制到组件,那么会重新显示当前视图,并可能不执行某些阶段。

还可以选择完全脱离 JSF,比如将处理委托给一个 servlet 或另一个应用程序框架。在这种情况下,可以执行一个 FacesContext.responseComplete 方法调用,将用户重定向到另一个页面或 Web 资源,然后使用请求调度器(从 FacesContext 中的请求对象获得)转发到适当的 Web 资源。也可以调用 FacesContext.renderResponse 来重新显示原来的视图。

最重要的是,在利用生命周期组织您的开发工作的同时不会受其束缚。在需要时可以修改默认的生命周期,而不必担心破坏应用程序。在大多数情况下,您会发现采用 JSF 的生命周期是值得的,因为它非常符合逻辑。

在执行任何应用程序逻辑之前,必须检验表单;在执行检验之前,必须对字段数据进行转换。如果坚持采用生命周期,您就可以集中精力考虑检验和转换的细节,而不必关注请求过程本身的阶段。还要注意,其他 Web 框架也有相似的生命周期;只不过没这么明显。

一些使用 JSF 的开发人员可能从来没有编写过组件或扩展过框架,而其他开发人员的工作却集中在这些任务上。 尽管对于几乎任何项目,JSF 生命周期都是相同的,开发人员可以根据其在项目中的角色参与不同的阶段。如果您主要从事整体应用程序开发,那么可能关注请求处理生命周期中间的几个阶段:

  • 应用请求值
  • 处理检验
  • 更新模型值
  • 调用应用程序

如果您主要从事 JSF 组件开发,那么可能关注生命周期的第一个阶段和最后一个阶段:

  • 恢复视图
  • 显示响应

     

posted @ 2018-04-16 12:45  走走丶停停  阅读(136)  评论(0编辑  收藏  举报