2011-01-24 483 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