我正在浏览JSF LifeCycles上的文章。我有以下疑问。
答案 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