2010-04-01 50 views
0

我們正在使用ICEFaces 1.8,我想執行一個新的URL轉發,但希望它在新窗口中打開。我們目前能夠執行重定向到一個新的窗口:是否可以在新窗口中執行前進?

public static void redirectToUrl(String urlPath) { 
    if (urlPath != null) { 
     try { 
      final String url = FacesUtil.getContextPath() + urlPath; 

      final StringBuffer jsCommand = new StringBuffer(); 
      jsCommand.append("window.document.location.href='").append(url).append("';"); 

      JavascriptContext.addJavascriptCall(FacesContext.getCurrentInstance(), jsCommand.toString()); 
     } catch (Exception e) { 
      throw new RuntimeException(e); 
     } 
    } 
} 

但在前向可能使用類似的方法?

回答

0

嘗試window.open(url)

+0

雖然是發出新的請求嗎?我正在丟失打開新窗口的屏幕上的數據。我想這樣做的原因是因爲我們的支持bean都在請求範圍內,任何重定向都會導致我的bean超出範圍。 使用導航規則實際上使我的數據保持在範圍內,因爲它執行前進。但是,我希望在新窗口中打開它,而不是替換當前瀏覽器窗口的內容。 – sma 2010-04-01 15:27:41

相關問題