Как программно сделать внутреннюю страницу JSF вперед?
Как сделать внутреннюю страницу JSF программным образом в управляемом бине при некоторых условиях (например, при возникновении исключения)? Я не хочу менять URL при пересылке на другую страницу.
Прямо сейчас я перенаправляю на другую страницу программно, используя это, но это меняет URL.
FacesContext.getCurrentInstance().getExternalContext().redirect();
2 ответа
Решение
Попробуй это:
public void forward(){
String uri = "destination.xhtml";
FacesContext.getCurrentInstance().getExternalContext().dispatch(uri);
}
Вы можете сделать с помощью
FacesContext.getCurrentInstance().getViewRoot().setViewId("your target view id");
FacesContext.getCurrentInstance().renderResponse();
или вы можете использовать
FacesContext.getCurrentInstance().responseComplete();
Надеюсь это поможет.