14

我对JSF的理解还很浅。

我正在阅读文档并按照FacesContext的 javadoc

有 RenderResponse 和 ResponseComplete 允许您缩短生命周期。

我目前很困惑..你什么时候在实际情况下使用一个而不是另一个?

谢谢

4

1 回答 1

31

FacesContext#renderResponse()如果您想立即进入渲染响应阶段,请使用。您经常看到这与在验证阶段运行的值更改侦听器黑客攻击相结合,应该跳过更新模型值并调用操作阶段。

用于FacesContext#responseComplete()向 JSF 发出信号,表明您已经自己处理了响应,因此 JSF 不需要呈现响应。您经常看到这与将文件下载写入响应的支持 bean 操作方法结合使用。这将确保 JSF 不会将文件下载附加到呈现的 HTML 的内容中,这可能会导致下载损坏或非法状态异常。

于 2012-04-10T16:16:11.627 回答