2010-04-01 7 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

그래도 새 요청을 보내고 있습니까? 새 창을 여는 화면에서 데이터가 손실됩니다. 이런 식으로하고 싶은 이유는 우리의 백킹 빈이 모두 요청 범위에 있고 리디렉션으로 인해 빈이 범위를 벗어나기 때문입니다. 내비게이션 규칙을 사용하면 실제로 내 데이터를 전달한 이후로 범위에서 내 데이터를 유지합니다. 그러나이 새 창에서 열려면 현재 브라우저 창의 내용을 바꿀 필요가 없습니다. – sma

관련 문제