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:p="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:p="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> The issue is whenever the web app that contains the above deployed to web container (I am using Websphere 7), the button on the facelet page does not register the action until the second click, i.e. the first click does nothing. The request did reach the server though. I have tried every version since 2.1.4 - 2.1.8, and it still occurring - so I am currently downgraded to 2.1.3. Can you please advise if this is a bug or something that I have missed? If this is a bug, how can I go about raising this in JIRA? Any comment would be much appreciated. Thanks. Regards, Zhao
