Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Not A Problem
-
2.0.16
-
None
-
None
-
Windows Myfaces 2.0.16, Jetty 8.1.3.v20120416
Description
Hi,
the following exception occurs when ich try to forward from an init action the preRenderView phase:
The xhtml page i call contains the following preRenderView listener:
<f:metadata>
<f:event type="preRenderView" listener="#
" />
</f:metadata>
In the init Method of the listener i am performing a forward to a different page with the following
logic:
public void init() throws Exception
{ // performs the forward HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse(); HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest(); RequestDispatcher dispatcher = request.getRequestDispatcher("localized.jsf"); dispatcher.forward(request, response); // FacesContext.getCurrentInstance().getExternalContext().redirect("localized.jsf"); FacesContext.getCurrentInstance().responseComplete(); }The result is strange, because the forward just works fine, however i am always getting the following
NullPointerException in the log file. Using a redirect instead of the forward just works fine.
java.lang.NullPointerException
at org.apache.myfaces.shared.context.flash.FlashImpl.isKeepMessages(FlashImpl.java:389)
at org.apache.myfaces.shared.context.flash.FlashImpl._saveMessages(FlashImpl.java:666)
at org.apache.myfaces.shared.context.flash.FlashImpl.doPostPhaseActions(FlashImpl.java:270)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:251)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:191)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
at org.eclipse.jetty.server.Server.handle(Server.java:350)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606)
If you need more information about the problem or a testcase, please tell me.
Cheers,
Andy