【发布时间】:2016-08-09 18:06:26
【问题描述】:
假设有 2 个 JSF 页面和一个支持 bean
index.xhtml- 带有视图参数和表单
支持 bean- 操作方法,从 index.xhtml 导航到 result.xhtml 和 NO REDIRECTION
result.xhtml- 没有表单但是输出一些文本
考虑一个简单的案例
向 index.xhtml-
发出 GET 请求类似这样的视图参数-
执行的阶段-
响应-
点击提交-
执行的阶段-
注意:这是一个 POSTBACK,生命周期阶段是针对 index.xhtml
的 POST 请求执行的响应-
响应包含 result.xhtml 页面的内容,这些内容随后清晰地反映在浏览器窗口中。在渲染时,result.xhtml 视图的生命周期也必须执行。为什么我在控制台中看不到这个视图的阶段?
我非常清楚,通过重定向,在 POSTBACK 上,index.xhtml 的渲染响应阶段将被跳过,然后 result.xhtml 的所有阶段将被被解雇了。
【问题讨论】:
-
我想你的具体问题可以归结为:stackoverflow.com/q/11277366
-
@BalusC:绝对没有,Bauke。我非常了解这些事情。我在这里要问的是,当没有重定向时,&在执行从 index.xhtml 到 result.xhtml 的导航时,result.xhtml 的内容将反映在没有当前 URL 的浏览器窗口中(即对于 result.xhtml) .要呈现此视图(result.xhtml),它必须经过生命周期阶段。那些在哪里?我的意思是相位监听器没有被触发,否则它一定已经显示在控制台中/
-
生命周期是基于请求而不是基于视图。重定向会创建一个新请求(如链接中所述)。
-
@BalusC:是的,这是我一直在寻找的东西,但我确实没有想到。
标签: jsf redirect jsf-2 navigation lifecycle