2012-04-06 69 views
0

當從我的門戶網站的索引頁面的登錄頁面導航,基於某些事實的用戶可以重定向外部,它看起來像時,有一個情況JSF重定向例外

那麼,它拋出一個異常:

14:24:35,579 INFO [CmwSessionHelperBean] ---WILL REDIRECT TO ABS URL: http://hi 
tachi.mygravitant.com 
14:24:35,580 ERROR [STDERR] java.lang.IllegalStateException 
14:24:35,582 ERROR [STDERR]  at org.apache.catalina.connector.ResponseFacade. 
sendRedirect(ResponseFacade.java:435) 
14:24:35,590 ERROR [STDERR]  at com.example.cloud.common.jsf.core.beans.Cmw 
SessionHelperBean.createCmwUserSession(CmwSessionHelperBean.java:269) 

能否請您給我一個建議,以避免這一例外occure?請注意重定向已完成,但由於此例外情況,當我回到我的門戶時,它不再正常工作...

回答

1

您應該使用ExternalContext#redirect()以JSF安全方式執行重定向。

​​

這種方法也將隱式調用FacesContext#responseComplete(),你不需要自己做。

此外,您需要確保您沒有多次在相同的響應中調用重定向方法,或者之後正在執行導航。