了解JSF生命周期阶段&没有重定向

时间:2016-04-18 06:09:26

标签: jsf redirect jsf-2 navigation lifecycle

假设有2个JSF页面&支持豆

带有视图参数&的

index.xhtml - 表格

使用NO REDIRECTION

index.xhtml 导航到 result.xhtml

支持bean - 操作方法

result.xhtml - 没有表格但输出了一些文字

考虑一个简单的案例

index.xhtml发送GET请求 -

带有视图参数的东西 -

http://localhost:8080/Leonard/faces/ch2/ch2_8/index.xhtml?playernameparam=HAMZA&playersurnameparam=YOUSUF

执行阶段 -

enter image description here

响应 -

enter image description here

点击提交 -

enter image description here

执行阶段 -

enter image description here

注意:这是 POSTBACK ,生效周期阶段是针对 index.xhtml执行 POST 请求

响应 -

enter image description here

响应包含 result.xhtml 页面的内容,然后清楚地反映在浏览器窗口中。在渲染时,生命周期也必须为result.xhtml视图执行。为什么不在控制台中看到这个视图的阶段?

我非常清楚,通过重定向,在POSTBACK上,将跳过 index.xhtml 的渲染响应阶段,然后 result.xhtml 的所有阶段将成为烧成。

1 个答案:

答案 0 :(得分:0)

您似乎期望生命周期是基于视图的。这确实会引起混淆。

实际上,生命周期是基于请求的,而不是基于视图的。这应该清理一切。如果您考虑一下,实际上没有必要重做整个收集,转换和验证请求参数以及更新模型值的整个周期,并在同一个HTTP请求期间调用操作。

另见: