Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-3668

CLONE - UIForm.createUniqueId should take into account prependId logic

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.0.17, 2.1.11
    • JSR-314
    • None

    Description

      If prependId="false", the generated id should get an unique id from the parent naming container of UIForm, to ensure uniqueness on id generation.

      Reported by Zhao Koh on dev list : MyFaces 2.1.8 - Issues with composite component renderFacet

      Hi all,

      I am currently using MyFaces 2.1.8 but discovered an issue with composite component renderFacet - and this issue started at version 2.1.4.

      The following describes the problem:

      I have a composite component called buttonSelectBox that uses composite:renderFacet to inject content from client - nothing fancy, only a span that surrounds the content.

      <html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:c="http://java.sun.com/jsp/jstl/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:composite="http://java.sun.com/jsf/composite"
      xmlns="http://primefaces.org/ui">

      <composite:interface>
      <composite:attribute name="compId" required="true" />
      <composite:attribute name="defaultText" required="true" />
      <composite:facet name="content" required="false" />
      </composite:interface>

      <composite:implementation>
      <span class="buttonlink">
      <composite:renderFacet name="content" />
      </span>
      </composite:implementation>

      </html>

      Then I have a facelet page that uses this composite component and a standard <h:commandButton> that invokes an action.

      <!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:c="http://java.sun.com/jsp/jstl/core"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:custom="http://java.sun.com/jsf/composite/components"
      xmlns="http://primefaces.org/ui"
      xmlns:pe="http://primefaces.org/ui/extensions"
      lang="en">

      <h:head>
      </h:head>
      <h:body>

      <div class="container">

      <div class="row">
      <div id="workspace">
      <h:form id="taskListForm" prependId="false">
      <custom:buttonSelectBox compId="myLinksMenu" defaultText="2222">
      <f:facet name="content">
      <ul>
      <li><a href="#">My Preferences</a></li>
      </ul>
      <ul>
      <li><a href="#">My Profile</a></li>
      <li><a href="#

      {facesContext.externalContext.requestContextPath}

      /logout">Logout</a></li>
      </ul>
      </f:facet>
      </custom:buttonSelectBox>

      <h:commandButton action="#

      {testBean.buttonAction}

      " value="Click ME" />
      </h:form>
      </div>
      </div>
      </div>

      </h:body>
      </html>

      Attachments

        1. MYFACES-3668-1.patch
          0.9 kB
          Leonardo Uribe
        2. composite.src.tar.gz
          15 kB
          Zhao Koh
        3. composite.war
          3.63 MB
          Zhao Koh
        4. MYFACES-3668-2.patch
          0.8 kB
          Leonardo Uribe

        Issue Links

          Activity

            People

              lu4242 Leonardo Uribe
              zhao.koh Zhao Koh
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: