如何在托管bean中以编程方式执行JSF内部页面,在某些情况下(如果发生异常时)?我不想在转发到其他页面时更改URL。
现在我使用此编程方式重定向到另一个页面,但这会更改URL。
FacesContext.getCurrentInstance().getExternalContext().redirect();
答案 0 :(得分:6)
试试这个:
public void forward(){
String uri = "destination.xhtml";
FacesContext.getCurrentInstance().getExternalContext().dispatch(uri);
}
答案 1 :(得分:1)
您可以使用
FacesContext.getCurrentInstance().getViewRoot().setViewId("your target view id");
FacesContext.getCurrentInstance().renderResponse();
或者您可以使用
FacesContext.getCurrentInstance().responseComplete();
希望这有帮助。