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