2011-05-11 58 views
2

我將舊項目從JSF 1.2遷移到JSF 2.0。 這些項目是基於JSP的。我可以關閉Jsf 2.0中的隱式導航嗎?

我在遷移後遇到隱式導航問題。 返回值的操作方法(比方說,供內部使用)會導致JSF嘗試導航到不存在的頁面。

例如,返回"Error"會使瀏覽器嘗試訪問/Error.jsp,這將導致404

我想,對於這些項目,關閉隱式導航的方法。 這可能嗎?

謝謝!

回答

1

不,這是不可能的。然而,它計劃用於JSF 2.2,另請參閱JSF spec issue 937

這是什麼,你試圖(ab?)使用導航結果的內部使用?異常處理?您可能想要拋出一個正常的異常,並按通常的方式處理。

+0

:-)我只是想運行一個無效的支持bean方法。據我所知,動作方法簽名必須是一個'String'返回值。 對於這個問題,「Error」例子本來可以是「成功」的。我想要一個運行的方法,做一些事情,然後應用程序繼續而不導航。 如果我想避免導航,我應該只返回null嗎? – Ben 2011-05-11 20:24:06

+2

是的,如果你不想導航,肯定你需要返回'null'。或者,如果你根本不想瀏覽,只需聲明方法'void'即可。 – BalusC 2011-05-11 20:26:43

+0

太好了。謝謝。只是想確保我沒有做一些會在稍後導致問題的事情。 – Ben 2011-05-12 06:52:33