JSF生命周期,如何在生命周期中间完成响应?

时间:2011-01-24 15:54:10

标签: jsf

我正在浏览JSF LifeCycles上的文章。我有以下疑问。

  • 在许多阶段,响应完成正在发生。它是如何发生的 生命周期的中间。任何人都可以详细解释一下吗?

2 个答案:

答案 0 :(得分:4)

引用JSF 2.0 spec

  

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

在JSF servlet应用程序中调用ExternalContext.redirect(String)会导致302 response通过underlying API发送到浏览器。在这种情况下,在响应正文中发出数据将是一个错误(或至少是徒劳的),因此ExternalContext.redirect(String)会调用responseComplete()

答案 1 :(得分:0)

如果你问它是怎么回事,我猜他们会做多线程。

如果你问为什么会发生这种情况,那就是ajax请求或者必须立即提交的repsonses