2012-07-25 71 views
0

重定向到一個不同的Portlet正在使用JSF 1.2JSF 1.2:從PhaseListener在

在一個Portlet的的PhaseListener,如果某些條件滿足,我想完全重定向到一個不同的portlet。我在beforePhase方法中有以下代碼

ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); 
externalContext.redirect("/my-other-portlet-url"); 

它不工作。即使我嘗試把它放在afterPhase方法中。沒有工作。

這樣做的正確方法是什麼?我的方案中可以重定向到另一個portlet嗎?

問候,

維卡斯

回答

0

嘗試

FacesContext context = FacesContext.getCurrentInstance();  
NavigationHandler handler = context.getApplication().getNavigationHandler(); 
handler.handleNavigation(context, null, "my-other-portlet-url"); //put there name of your page 

這應該甚至PhaseListener

+0

嗨切赫工作,它沒有工作:(日誌中沒有例外。 – 2012-07-25 10:14:45

+0

你應該把有作爲視圖的參數名稱,而不是頁面本身。例如,如果你有'home/index.xhtml',參數應該是'home/index' – 2012-07-25 10:24:09