我对JSF的理解还很浅薄。
我正在阅读该文档,并根据FacesContext
的javadoc有RenderResponse和ResponseComplete,可以让你缩短生命周期。
我目前很困惑..你在实际情况下何时使用另一个?
由于
答案 0 :(得分:27)
如果您想立即前进到渲染响应阶段,请使用FacesContext#renderResponse()
。您通常会将这种情况与在验证阶段运行的值更改侦听器黑客结合使用,并应跳过更新模型值并调用操作阶段。
使用FacesContext#responseComplete()
向JSF表示您已经处理了响应您自己,因此JSF不需要呈现响应。您经常会将这种情况与支持bean操作方法结合使用,后者将文件下载写入响应。这将确保JSF不会使用呈现的HTML内容附加文件下载,这可能最终导致下载损坏或非法状态异常。