日期:2014-05-16 浏览次数:20596 次
JavaServer Face(JSF)内置了HttpServletResponse,所以不可以直接在JSF的Bean内使用sendRedirect之类的重定向函数。花了N多的时间查资料,发现误导性的文章比较多,为了有同样需要的人少浪费点时间在这身上,这里把测试通过的方法记录一下:
●导入Servlet包
import javax.servlet.http.*;
●加入下面的取得HttpServletResponse的函数:
protected HttpServletResponse getResponse() ...{ FacesContext facesContext = FacesContext.getCurrentInstance(); HttpServletResponse response = (HttpServletResponse) facesContext .getExternalContext().getResponse(); return response; }?
response.sendRedirect("sample.jsp"); facesContext.responseComplete(); // 这一句很重要 return null;?