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