ICEfaces
  1. ICEfaces
  2. ICE-3444

Back/Forward navigation does not work with Spring Web Flow 2.0.3

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.7.1
    • Fix Version/s: 1.7.2
    • Component/s: None
    • Labels:
      None
    • Environment:
      Windows, IBM Websphere

      Description

      When running ICEfaces 1.7.1 with Spring Web Flow the back/forward browser navigation does not work properly. On of the benefits of Spring Web Flow is the built in well-defined support for using the browser back button, however, when Spring Web Flow is configured to work with ICEfaces, this does not work. Please see the stack trace below. If you need more information do not hesitate to write randahl@rockit.dk

      Yours

      Randahl




      [25-08-08 13:10:01:597 CEST] 00000038 WebApp E SRVE0026E: [Servlet Error]-[Persistent Faces Servlet]: javax.faces.FacesException: Problem in renderResponse: null
      at com.icesoft.faces.facelets.D2DFaceletViewHandler.renderResponse(D2DFaceletViewHandler.java:294)
      at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:161)
      at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
      at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
      at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
      at com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:18)
      at com.icesoft.faces.webapp.http.core.PageServer$1.respond(PageServer.java:25)
      at com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:161)
      at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdaptingServlet.java:36)
      at com.icesoft.faces.webapp.http.core.PageServer.service(PageServer.java:30)
      at com.icesoft.faces.webapp.http.core.MultiViewServer.service(MultiViewServer.java:56)
      at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer$Matcher.serviceOnMatch(PathDispatcherServer.java:50)
      at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:19)
      at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:19)
      at com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:63)
      at com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:139)
      at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:53)
      at com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52)
      at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29)
      at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:82)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
      at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3177)
      at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:253)
      at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:229)
      at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1970)
      at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:114)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
      at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:101)
      at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
      at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
      at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
      at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
      Caused by: java.lang.NullPointerException
      at com.icesoft.util.SeamUtilities.getSpringFlowId(SeamUtilities.java:520)
      at com.icesoft.faces.renderkit.dom_html_basic.FormRenderer.encodeBegin(FormRenderer.java:156)
      at com.icesoft.faces.component.ext.renderkit.FormRenderer.encodeBegin(FormRenderer.java:53)
      at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:703)
      at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:547)
      at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:554)
      at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:554)
      at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:554)
      at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:554)
      at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:554)
      at com.icesoft.faces.facelets.D2DFaceletViewHandler.renderResponse(D2DFaceletViewHandler.java:282)
      ... 35 more

        Activity

        Hide
        Ted Goddard added a comment -

        Comment from Randahl:

        Back button navigation should work as defined by section 4.12 of the spring-webflow-reference.pdf:

        By default, when you exit a view state and transition to a new view state, you can go back to the previous
        state using the browser back button. These view state history policies are configurable on a per-transition
        basis by using the history attribute.

        Show
        Ted Goddard added a comment - Comment from Randahl: Back button navigation should work as defined by section 4.12 of the spring-webflow-reference.pdf: By default, when you exit a view state and transition to a new view state, you can go back to the previous state using the browser back button. These view state history policies are configurable on a per-transition basis by using the history attribute.
        Hide
        Ted Goddard added a comment -

        Igor, could you test back/forward button behavior in the current booking demo and report on what you see?

        Show
        Ted Goddard added a comment - Igor, could you test back/forward button behavior in the current booking demo and report on what you see?
        Hide
        Igor Pustylnick added a comment -

        Appears to be fixed in 1.7.2

        Show
        Igor Pustylnick added a comment - Appears to be fixed in 1.7.2

          People

          • Assignee:
            Unassigned
            Reporter:
            Randahl Isaksen
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: