2011-01-24 227 views

回答

4

提交repsonses从JSF 2.0 spec报价:

responseComplete()方法,在另一方面,通过除了呈现组件树之外的某种方式向JSF实现通知JSF实现该请求的HTTP响应已完成,并且在当前阶段完成时该请求的请求处理生命周期应该终止。例如,需要一个事件侦听器决定HTTP重定向将执行响应对象上的适当的行动(即主叫ExternalContext.redirect()),然后调用此方法。

在JSF servlet应用调用ExternalContext.redirect(String)导致302 response经由underlying API被发送给浏览器。在这种情况下,这将是错误(或至少徒劳)以发射在响应身体的数据,所以ExternalContext.redirect(String)呼叫responseComplete()

+0

事实上,只有当它通过`ExternalContext#redirect()`完成。从下JSF的盖拼抢`HttpServletResponse`和调用`的sendRedirect()`它不会那么做的。 – BalusC 2011-01-24 17:56:03

0

如果你问它是如何发生的事情我想他们做多线程。

在你问它为什么发生的情况下,它是Ajax请求或为必须立即

+0

我无法理解你的答案。 – Krishna 2011-01-25 02:49:54