好吧,如果你想得到这个response对象,你可以JSF像下面这样把它放进去!
HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
但是您实际上并不需要response仅将对象重定向到JSF. 这可以通过以下方式更轻松地完成:
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
externalContext.redirect("http://www.example.com/myJspPage.jsp");
编辑:
当您处于任何非动作方法时,您可以使用以上任何一种方法!但是,当您在任何操作方法中时,正确JSF的重定向方法是:
public String goToOutsideAction(){
....
return "/myPage.xhtml?faces-redirect=true"
}
该方法应该返回一个上下文相关的视图 ID,并且目标必须是一个 JSF 页面。