JSF规范定义了6个不同的阶段:
- 还原视图
- 应用请求值
- 过程验证
- 更新模型
- 调用应用程序
- 呈现响应
下图是生命周期最常见的流程:
还原视图:
如果请求页面以前显示过,“还原视图”阶段将检索请求页面的组件数;如果请求页面首次显示,“还原视图”将创建新的组件树。
如果没有请求值,JSF实现会直接跳转到前面的呈现响应的阶段。这发生在页面第一次显示之时。
应用请求值
在此阶段,JSF实现迭代组件树中的每个组件对象。每个组件对象都检查哪些请求值属于自己并将其存储。
存储在组件中的值称为本地值。
过程验证
当设计JSF时,可添加验证器以验证本地值的正确性。验证通过,JSF生命周期正常进行。验证错误,JSF实现会直接调用呈现响应,重新显示页面。
更新组件模型值
把通过验证和转换的值更新组件关联的bean。
调用应用程序
引起表单提交的按钮或连接组件的action方法被执行。该方法可以执行任意的应用程序处理。它返回的结果字符串传给导航处理程序。导航处理程序然后查找下一个页面。
呈现响应
对响应进行编码,并将它发回浏览器。
以上就是JSF最基本的流程,虽然JSF用了一段时间了,但对其原理知之甚少。写在这里全当自己学习成果的记录。