在我的JSF应用程序中,我需要从托管bean构造函数重定向。我有下面的代码这样做:重定向表单托管bean构造函数抛出“java.lang.IllegalStateException”
HttpServletResponse httpServletResponse = (HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();
httpServletResponse.sendRedirect("HomeV.jsf");
但这是抛出以下异常:
java.lang.IllegalStateException
at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:435)
at javax.servlet.http.HttpServletResponseWrapper.sendRedirect(HttpServletResponseWrapper.java:126)
at com.sun.faces.context.ExternalContextImpl.redirect(ExternalContextImpl.java:419)
我甚至尝试以下操作:
FacesContext.getCurrentInstance().getExternalContext().redirect("HomeV.jsf");
在与此相关的计算器问题中提及here但我仍面临同样的例外。
相关:http://stackoverflow.com/questions/4032825/how-to-make-a-redirection-in-jsf/4099405#4099405但在这种特殊情况下,您似乎不需要导航的情况下。根据功能要求,我会使用过滤器。 – BalusC 2011-04-14 12:29:36