Как программно сделать внутреннюю страницу 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();  

Надеюсь это поможет.

Другие вопросы по тегам