ICEfaces
  1. ICEfaces
  2. ICE-5691

Navigation only works on every second button click.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Alpha2
    • Fix Version/s: 2.0-Beta1, 2.0.0
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      ICEfaces 2 JSF 2
    • Workaround Exists:
      Yes
    • Workaround Description:
      Hide
      You can either

      - remove the <?xml line from the document
      - provide a specific id attribute for the form to prevent it from oscillating (e.g. <form id="theForm")
      - specify a specific sub tree to render rather than rendering (<f:ajax render="theForm"/>)
      Show
      You can either - remove the <?xml line from the document - provide a specific id attribute for the form to prevent it from oscillating (e.g. <form id="theForm") - specify a specific sub tree to render rather than rendering (<f:ajax render="theForm"/>)

      Description

      Under certain conditions, the ViewState may not get written to the page/form which causes a problem when navigating. The typical result is that every second click of a button that triggers navigation doesn't appear to work. The problematic behaviour is actually seen in Mojarra 2.0.2 without ICEfaces. The conditions required are:

      The page starts with the XML preamble like: <?xml version="1.0" encoding="UTF-8"?>
      The form does not have a specific id set on it: <h:form prependId="false">
      The button is Ajax-enabled with render all:

      <h:commandButton id="navButton" value="Go to Page 2" action="page02">
          <f:ajax render="@all"/>
      </h:commandButton>

      So given a couple of simple pages like this that navigate back and forth to each other:

      <?xml version="1.0"?>
      <!DOCTYPE html
              PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
              "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml"
            xmlns:h="http://java.sun.com/jsf/html"
            xmlns:f="http://java.sun.com/jsf/core">
      <h:head>
          <title>Ajax Navigation</title>
      </h:head>

      <h:body>
          
           <h:form prependId="false">
              <p>
                  <h:commandButton id="navButton" value="Go to Page 2" action="page02" >
                      <f:ajax render="@all"/>
                  </h:commandButton>
              </p>
          </h:form>

      </h:body>
      </html>

      will result in every second click failing.

        Activity

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Deryk Sinotte
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: