Andreas Wuest created MYFACES-3673:
--------------------------------------
Summary: NullPointerException in FlashImpl when forwarding from an
init action
Key: MYFACES-3673
URL: https://issues.apache.org/jira/browse/MYFACES-3673
Project: MyFaces Core
Issue Type: Bug
Components: JSR-314
Affects Versions: 2.0.16
Environment: Windows Myfaces 2.0.16, Jetty 8.1.3.v20120416
Reporter: Andreas Wuest
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="#{localizedInitializerView.init}" />
</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
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira