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







Reply via email to