javaserverfaces-spec-public
  1. javaserverfaces-spec-public
  2. JAVASERVERFACES_SPEC_PUBLIC-220

Prevent "id" attribute name-collision on ViewState saving hidden inputs.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.2
    • Fix Version/s: 2.2
    • Component/s: Lifecycle
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Issuezilla Id:
      220
    • Status Whiteboard:
      Hide

      cat2 frame renderkitdoc size_medium importance_large

      Show
      cat2 frame renderkitdoc size_medium importance_large

      Description

      More than 1 <h:form> per view breaks W3C XHTML 1.0 Transitional (and above)
      validation. The 1.2 spec calls for the use of a hidden input field with a
      constant id which causes name collision on the "id" attribute if more than 1
      <h:form> is used.

      From w3.org:
      "An "id" is a unique identifier. Each time this attribute is used in a document
      it must have a different value."

      The javadocs for javax.faces.render.ResponseStateManager read:

      "VIEW_STATE_PARAM
      public static final java.lang.String VIEW_STATE_PARAM
      Implementations must use this value as the name and id of the client parameter
      in which to save the state between requests."

      That is obviously a problem if there are more than one form, and hence more than
      one client parameter with this same id.

      This problem is also mentioned:
      https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=433

        Issue Links

          Activity

          Hide
          Ed Burns added a comment -

          Re-open to address additional complexity surfaced in EG discussion on 30 Jan 2012.

          Show
          Ed Burns added a comment - Re-open to address additional complexity surfaced in EG discussion on 30 Jan 2012.
          Hide
          Ed Burns added a comment -

          Because this hampers portlets, we need to give this major priority.

          Show
          Ed Burns added a comment - Because this hampers portlets, we need to give this major priority.
          Show
          arjan tijms added a comment - For convenience, the direct links to the EG discussion about this: http://java.net/projects/javaserverfaces-spec-public/lists/jsr344-experts/archive/2012-01/message/20 http://java.net/projects/javaserverfaces-spec-public/lists/jsr344-experts/archive/2012-02/message/0
          Hide
          Ed Burns added a comment -

          Committed new approach to trunk.

          Adding jsf-api/doc/web-partialresponse_2_2.xsd
          Sending jsf-api/src/main/java/javax/faces/context/FacesContext.java
          Sending jsf-api/src/main/java/javax/faces/context/FacesContextWrapper.java
          Sending jsf-api/src/main/java/javax/faces/context/PartialResponseWriter.java
          Sending jsf-api/src/main/java/javax/faces/render/ResponseStateManager.java
          Sending jsf-api/src/main/resources/jsf.js
          Sending jsf-demo/archive/renderkits/src/script/http-svg.es
          Sending jsf-demo/archive/renderkits/src/script/http-xul.es
          Sending jsf-ri/src/main/java/com/sun/faces/application/StateManagerImpl.java
          Sending jsf-ri/src/main/java/com/sun/faces/application/resource/ClasspathResourceHelper.java
          Sending jsf-ri/src/main/java/com/sun/faces/application/resource/ResourceHelper.java
          Sending jsf-ri/src/main/java/com/sun/faces/application/resource/WebappResourceHelper.java
          Sending jsf-ri/src/main/java/com/sun/faces/context/PartialViewContextImpl.java
          Sending jsf-ri/src/main/java/com/sun/faces/renderkit/ClientSideStateHelper.java
          Sending jsf-ri/src/main/java/com/sun/faces/renderkit/ServerSideStateHelper.java
          Sending jsf-ri/src/main/java/com/sun/faces/renderkit/StateHelper.java
          Sending jsf-ri/src/main/java/com/sun/faces/util/DebugUtil.java
          Sending jsf-ri/src/main/java/com/sun/faces/util/Util.java
          Sending jsf-ri/systest/build-tests.xml
          Sending jsf-ri/systest/src/com/sun/faces/systest/jsp/htmltaglib/HtmlTaglibTestCase.java
          Sending jsf-ri/systest/web/regexp/converter06.txt
          Sending jsf-ri/systest-per-webapp/no-web-xml/src/java/com/sun/faces/systest/NoWebXMLTestCase.java
          Sending jsf-ri/test/com/sun/faces/application/TestStateManagerImpl.java
          Sending jsf-ri/web/test/RenderResponse_correct
          Sending jsf-ri/web/test/TestLifecycleImpl_initial_correct
          Sending jsf-ri/web/test/TestViewHandlerImpl_correct
          Sending jsf-test/JAVASERVERFACES-1655/htmlunit/src/main/java/com/sun/faces/systest/InitialTestCase.java
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/build.xml
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_client_state_war
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_client_state_war/pom.xml
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_client_state_war/src
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_client_state_war/src/main
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_client_state_war/src/main/java
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_client_state_war/src/main/java/com
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_client_state_war/src/main/java/com/sun
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_client_state_war/src/main/java/com/sun/faces
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_client_state_war/src/main/java/com/sun/faces/test
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_client_state_war/src/main/java/com/sun/faces/test/i_spec_220_client_state_war
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_client_state_war/src/main/java/com/sun/faces/test/i_spec_220_client_state_war/UserBean.java
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_client_state_war/src/main/webapp
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_client_state_war/src/main/webapp/WEB-INF
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_client_state_war/src/main/webapp/WEB-INF/beans.xml
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_client_state_war/src/main/webapp/WEB-INF/web.xml
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_client_state_war/src/main/webapp/main.xhtml
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_htmlunit
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_htmlunit/pom.xml
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_htmlunit/src
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_htmlunit/src/main
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_htmlunit/src/main/java
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_htmlunit/src/main/java/com
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_htmlunit/src/main/java/com/sun
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_htmlunit/src/main/java/com/sun/faces
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_htmlunit/src/main/java/com/sun/faces/test
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_htmlunit/src/main/java/com/sun/faces/test/i_spec_220_htmlunit
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_htmlunit/src/main/java/com/sun/faces/test/i_spec_220_htmlunit/IssueSpec220TestCase.java
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_htmlunit/src/main/resources
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_server_state_war
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_server_state_war/pom.xml
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_server_state_war/src
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_server_state_war/src/main
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_server_state_war/src/main/java
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_server_state_war/src/main/java/com
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_server_state_war/src/main/java/com/sun
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_server_state_war/src/main/java/com/sun/faces
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_server_state_war/src/main/java/com/sun/faces/test
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_server_state_war/src/main/java/com/sun/faces/test/i_spec_220_server_state_war
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_server_state_war/src/main/java/com/sun/faces/test/i_spec_220_server_state_war/UserBean.java
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_server_state_war/src/main/webapp
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_server_state_war/src/main/webapp/WEB-INF
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_server_state_war/src/main/webapp/WEB-INF/beans.xml
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_server_state_war/src/main/webapp/WEB-INF/web.xml
          Adding jsf-test/JAVASERVERFACES_SPEC_PUBLIC-220/i_spec_220_server_state_war/src/main/webapp/main.xhtml
          Sending jsf-test/build.xml
          Transmitting file data .........................................
          Committed revision 9660.

          Show
          Ed Burns added a comment - Committed new approach to trunk. Adding jsf-api/doc/web-partialresponse_2_2.xsd Sending jsf-api/src/main/java/javax/faces/context/FacesContext.java Sending jsf-api/src/main/java/javax/faces/context/FacesContextWrapper.java Sending jsf-api/src/main/java/javax/faces/context/PartialResponseWriter.java Sending jsf-api/src/main/java/javax/faces/render/ResponseStateManager.java Sending jsf-api/src/main/resources/jsf.js Sending jsf-demo/archive/renderkits/src/script/http-svg.es Sending jsf-demo/archive/renderkits/src/script/http-xul.es Sending jsf-ri/src/main/java/com/sun/faces/application/StateManagerImpl.java Sending jsf-ri/src/main/java/com/sun/faces/application/resource/ClasspathResourceHelper.java Sending jsf-ri/src/main/java/com/sun/faces/application/resource/ResourceHelper.java Sending jsf-ri/src/main/java/com/sun/faces/application/resource/WebappResourceHelper.java Sending jsf-ri/src/main/java/com/sun/faces/context/PartialViewContextImpl.java Sending jsf-ri/src/main/java/com/sun/faces/renderkit/ClientSideStateHelper.java Sending jsf-ri/src/main/java/com/sun/faces/renderkit/ServerSideStateHelper.java Sending jsf-ri/src/main/java/com/sun/faces/renderkit/StateHelper.java Sending jsf-ri/src/main/java/com/sun/faces/util/DebugUtil.java Sending jsf-ri/src/main/java/com/sun/faces/util/Util.java Sending jsf-ri/systest/build-tests.xml Sending jsf-ri/systest/src/com/sun/faces/systest/jsp/htmltaglib/HtmlTaglibTestCase.java Sending jsf-ri/systest/web/regexp/converter06.txt Sending jsf-ri/systest-per-webapp/no-web-xml/src/java/com/sun/faces/systest/NoWebXMLTestCase.java Sending jsf-ri/test/com/sun/faces/application/TestStateManagerImpl.java Sending jsf-ri/web/test/RenderResponse_correct Sending jsf-ri/web/test/TestLifecycleImpl_initial_correct Sending jsf-ri/web/test/TestViewHandlerImpl_correct Sending jsf-test/ JAVASERVERFACES-1655 /htmlunit/src/main/java/com/sun/faces/systest/InitialTestCase.java Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /build.xml Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_client_state_war Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_client_state_war/pom.xml Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_client_state_war/src Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_client_state_war/src/main Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_client_state_war/src/main/java Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_client_state_war/src/main/java/com Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_client_state_war/src/main/java/com/sun Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_client_state_war/src/main/java/com/sun/faces Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_client_state_war/src/main/java/com/sun/faces/test Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_client_state_war/src/main/java/com/sun/faces/test/i_spec_220_client_state_war Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_client_state_war/src/main/java/com/sun/faces/test/i_spec_220_client_state_war/UserBean.java Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_client_state_war/src/main/webapp Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_client_state_war/src/main/webapp/WEB-INF Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_client_state_war/src/main/webapp/WEB-INF/beans.xml Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_client_state_war/src/main/webapp/WEB-INF/web.xml Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_client_state_war/src/main/webapp/main.xhtml Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_htmlunit Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_htmlunit/pom.xml Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_htmlunit/src Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_htmlunit/src/main Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_htmlunit/src/main/java Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_htmlunit/src/main/java/com Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_htmlunit/src/main/java/com/sun Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_htmlunit/src/main/java/com/sun/faces Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_htmlunit/src/main/java/com/sun/faces/test Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_htmlunit/src/main/java/com/sun/faces/test/i_spec_220_htmlunit Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_htmlunit/src/main/java/com/sun/faces/test/i_spec_220_htmlunit/IssueSpec220TestCase.java Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_htmlunit/src/main/resources Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_server_state_war Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_server_state_war/pom.xml Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_server_state_war/src Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_server_state_war/src/main Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_server_state_war/src/main/java Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_server_state_war/src/main/java/com Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_server_state_war/src/main/java/com/sun Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_server_state_war/src/main/java/com/sun/faces Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_server_state_war/src/main/java/com/sun/faces/test Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_server_state_war/src/main/java/com/sun/faces/test/i_spec_220_server_state_war Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_server_state_war/src/main/java/com/sun/faces/test/i_spec_220_server_state_war/UserBean.java Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_server_state_war/src/main/webapp Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_server_state_war/src/main/webapp/WEB-INF Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_server_state_war/src/main/webapp/WEB-INF/beans.xml Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_server_state_war/src/main/webapp/WEB-INF/web.xml Adding jsf-test/ JAVASERVERFACES_SPEC_PUBLIC-220 /i_spec_220_server_state_war/src/main/webapp/main.xhtml Sending jsf-test/build.xml Transmitting file data ......................................... Committed revision 9660.
          Hide
          Manfred Riem added a comment -

          Closing resolved issue out

          Show
          Manfred Riem added a comment - Closing resolved issue out

            People

            • Assignee:
              Ed Burns
              Reporter:
              reind
            • Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: