日期:2014-05-16  浏览次数:20464 次

JSF 页面生命周期管理 (一)


JSF 面的生命周期 似于 JSP 面。当客 为页 创见 一个 HTTP ,服 器端响 应这个页面并翻译 HTML 。因 JSF 提供了 外功能,因此,生命周期提供了一些 外的服 面。


员,除了 需要知道 生命周期过程中中,比如什么时候对进行数据校验、数据转换和事件发生时刻这些外,还可能需要知道这些能做什么;如何改变这些的处理方式和时间。


一个树形的 UI组件描述一个 JSF页面,叫视图。当客户端为这个页面创造一个请求,生命周期开始,在整个生命周期中,考虑到页面当前视图状态从前一个子阶段保存而来, JSF的实现框架( MyFaces OpenFaces Glassfish等)必须创建这个视图。当客户端提交一个页面, JSF实现框架必须执行几个任务,比如校验当前视图中输入的数据,然后转换这些数据为服务端所需要的数据类型。 JSF实现框架执行所有这些任务——生命周期中一系列的步骤。


哪一个步骤需被执行取决于请求是否出之于 JSF应用和响应是否生成于 JSF生命周期的渲染阶段。

JSF应用支持两种响应和两种请求类型:

1.???? Faces Response, 一种 Servlet响应,创建于 Render Response Phase阶段

2.???? Non-Faces Response, 一种 Servlet响应,不在 Render Response Phase阶段创建的,比如一个 JSP页没有包含任何的 JSF组件。

3.???? Faces Request, 一种 Servlet请求,由前一个已生成的 Faces响应发送。比如一个表单是从一个 JSF UI组件发送,并且请求的 URI指示应用 JSF的组件树去处理这个请求。

4.???? Non-Faces Request, 一种 Servlet请求发送到一个应用组件,比如 JSP或者 Servlet,而不是直接发送到 JSF的 组件上。

?

为这 些不同 型的 求和响 致三种可能的生命周期 合存在于 JSF 用之中:

1.???? Non-Faces Request Faces Response