【发布时间】:2011-08-05 08:39:50
【问题描述】:
在我的 JSF 应用程序中,我需要从托管 bean 构造函数进行重定向。我有以下代码:
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 相关的 stackoverflow 问题中所述,但我仍然面临同样的异常。
【问题讨论】:
-
相关:stackoverflow.com/questions/4032825/… 但在这种特殊情况下,您似乎不需要导航案例。根据功能要求,我会使用过滤器。
标签: java jsf javabeans httpresponse