title: JSF2: Tag Library supports namespace: http://java.sun.com/jsf/composite/components/customer, but no tag was defined for name: list
body: <p>I created a composite component for a list of customers. I can use this component in a view:</p>
  
  <pre><code>&lt;html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui"
    xmlns:customer="http://java.sun.com/jsf/composite/components/customer"&gt;
  
  &lt;ui:composition template="/WEB-INF/templates/template.xhtml"&gt;
  
    &lt;ui:define name="caption"&gt;
      &lt;h:outputText value="#{msg.customerListHeading}" /&gt;
    &lt;/ui:define&gt;
  
    &lt;ui:define name="content"&gt;
  
      &lt;ui:decorate template="/WEB-INF/templates/sidebox.xhtml"&gt;
        &lt;ui:param name="title" value="#{msg.customerListHeading}" /&gt;
  
        &lt;p:outputPanel&gt;
          &lt;h:form id="customerList"&gt;
  
            &lt;customer:list list="#{customerControllerBean.list}"&gt;
              &lt;f:facet name="headerButton"&gt;
                &lt;h:button outcome="customerdetail.jsf"
                  value="#{msg.newButtonLabel}" /&gt;
              &lt;/f:facet&gt;
              &lt;f:facet name="rowButton"&gt;
                &lt;h:commandButton value="#{msg.deleteButtonLabel}"
                  action="#{customerControllerBean.delete(customer)}" /&gt;
                &lt;h:button outcome="customerdetail.jsf?id=#{customer.id}"
                  value="#{msg.editButtonLabel}" /&gt;
              &lt;/f:facet&gt;
            &lt;/customer:list&gt;
  
          &lt;/h:form&gt;
        &lt;/p:outputPanel&gt;
      &lt;/ui:decorate&gt;
  
    &lt;/ui:define&gt;
  
  &lt;/ui:composition&gt;
  
  &lt;/html&gt;
  </code></pre>
  
  <p>But when i use the component in a very similar view i get the following error:</p>
  
  <pre><code>&lt;customer:list&gt; Tag Library supports namespace: http://java.sun.com/jsf/composite/components/customer, but no tag was defined for name: list
  </code></pre>
  
  <p>The problematic view looks as follows:</p>
  
  <pre><code>&lt;html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui"
    xmlns:customer="http://java.sun.com/jsf/composite/components/customer"&gt;
  
  &lt;ui:composition template="/WEB-INF/templates/template.xhtml"&gt;
  
    &lt;ui:define name="caption"&gt;
      &lt;h:outputText value="#{msg.customerListHeading}" /&gt;
    &lt;/ui:define&gt;
  
    &lt;ui:define name="content"&gt;
  
      &lt;ui:decorate template="/WEB-INF/templates/sidebox.xhtml"&gt;
        &lt;ui:param name="title" value="#{msg.customerListHeading}" /&gt;
  
        &lt;p:outputPanel&gt;
          &lt;h:form id="customerList"&gt;
  
            &lt;customer:list list="#{customerControllerBean.list}"&gt;
              &lt;f:facet name="rowButton"&gt;
                &lt;h:commandButton value="#{msg.applyButtonLabel}"
                  action="#{orderControllerBean.setCustomer(customer)}" /&gt;
              &lt;/f:facet&gt;
            &lt;/customer:list&gt;
  
          &lt;/h:form&gt;
        &lt;/p:outputPanel&gt;
      &lt;/ui:decorate&gt;
  
    &lt;/ui:define&gt;
  
  &lt;/ui:composition&gt;
  
  &lt;/html&gt;
  </code></pre>
  
  <p>As u can see the two view differs only by the facets i use to add buttons to the customer list table as i use the list in two different contexts. But why does the second view not work?</p>
  
  <p>I found that there is/was an issue with Mojarra, but i use the so called stable revision regarding this problem:</p>
  
  <pre><code>2012-09-16 19:09:41,512 INFO     [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-4) Mojarra 2.1.7-jbossorg-1 (20120227-1401)
  </code></pre>