6 Replies Latest reply on Sep 27, 2007 4:38 AM by limousyf

    Client-id : _id5 is duplicated in the faces tree.

    jsfman

      Hello,

      I have a big problem in my page xhtml, when I add a component(commandButton), it shows a bug :

      java.lang.IllegalStateException: Client-id : _id5 is duplicated in the faces tree,
      javax.faces.webapp.FacesServlet.service(FacesServlet.java:121)
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      
      , while this id is not duplicated (my
      id="commandButtonAZETUTIUTYUITYUTYUTYUT",
      ), It's impossible that it's duplicated with this id).

      Please help me.

        • 1. Re: Client-id : _id5 is duplicated in the faces tree.
          christian.bauer

          You need to post much more information.

          • 2. Re: Client-id : _id5 is duplicated in the faces tree.
            jsfman

            Here is my page xhtml :

            <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

            <ui:composition xmlns="http://www.w3.org/1999/xhtml"
             xmlns:s="http://jboss.com/products/seam/taglib"
             xmlns:ui="http://java.sun.com/jsf/facelets"
             xmlns:f="http://java.sun.com/jsf/core"
             xmlns:h="http://java.sun.com/jsf/html"
             xmlns:a="https://ajax4jsf.dev.java.net/ajax"
             xmlns:rich="http://richfaces.ajax4jsf.org/rich"
             template="layout/template.xhtml">
            
             <ui:define name="body">
            
             <h:messages globalOnly="true" styleClass="message" id="globalMessages" />
            
             <h:form id="lot" styleClass="edit">
            
             <h:panelGrid columns="1" id="grid1" styleClass="table_m"
             headerClass="th_m" rowClasses="td_m">
             <f:facet name="header">
             <h:outputText value="#{msgsCommon.editer} #{msgLot.entityName}" />
             </f:facet>
            
            
            
            
             <s:decorate id="numeroLotDecoration" template="layout/edit.xhtml">
            
             <ui:define name="label">#{msgLot.numeroLot}</ui:define>
            
            
            
             <h:inputText id="numeroLot" required="true" size="60"
             maxlength="60" value="#{lotHome.instance.numeroLot}">
             </h:inputText>
             </s:decorate>
            
            
             <s:decorate id="montantDecoration" template="layout/edit.xhtml">
            
             <ui:define name="label">#{msgLot.montant}</ui:define>
            
             <h:inputText id="montant" value="#{lotHome.instance.montant}">
             </h:inputText>
             </s:decorate>
            
            
             <s:decorate id="nombreJoursDecoration" template="layout/edit.xhtml">
            
             <ui:define name="label">#{msgLot.nombreJours}</ui:define>
            
             <h:inputText id="nombreJours"
             value="#{lotHome.instance.nombreJours}">
             </h:inputText>
             </s:decorate>
            
            
             <s:decorate id="dateEcheanceDecoration" template="layout/edit.xhtml">
            
             <ui:define name="label">#{msgLot.dateEcheance}</ui:define>
            
             <h:inputText id="dateEcheance" maxlength="10" size="10"
             value="#{lotHome.instance.dateEcheance}">
             <s:convertDateTime pattern="dd/MM/yyyy" />
             </h:inputText>
             <s:selectDate for="dateEcheance" dateFormat="dd/MM/yyyy">
             <h:graphicImage url="img/dtpick.gif" style="margin-left:5px" />
             </s:selectDate>
             </s:decorate>
            
            
             <s:decorate id="descriptionLotDecoration"
             template="layout/edit.xhtml">
            
             <ui:define name="label">#{msgLot.descriptionLot}</ui:define>
            
            
            
             <h:inputTextarea id="descriptionLot" cols="80" rows="10"
             required="true" value="#{lotHome.instance.descriptionLot}"
             styleClass="richEditor" />
             </s:decorate>
            
            
            
             <div style="clear: both"><span class="required">*</span>
             #{msgsCommon.required}</div>
             </h:panelGrid>
            
             <h:panelGrid columns="5" id="gridEdit">
             <s:link id="cancel" propagation="end"
             view="/#{empty lotFrom ? 'LotList' : lotFrom}.xhtml"
             rendered="#{!lotHome.managed}">
             <h:graphicImage value="/img/house_go.gif" />
             </s:link>
             <h:commandButton id="save" action="#{lotHome.persist}"
             disabled="#{!lotHome.wired}" rendered="#{!lotHome.managed}"
             image="/img/disk.gif">
             </h:commandButton>
             <h:commandLink id="update" action="#{lotHome.update}"
             rendered="#{lotHome.managed}">
             <h:graphicImage value="/img/disk.gif" />
             </h:commandLink>
             <h:commandLink id="delete" action="#{lotHome.remove}"
             rendered="#{lotHome.managed}">
             <h:graphicImage value="/img/delete.gif" />
             </h:commandLink>
             <s:link id="done" propagation="end" view="/Lot.xhtml"
             rendered="#{lotHome.managed}">
             <h:graphicImage value="/img/wrench.gif" />
             </s:link>
             </h:panelGrid>
             </h:form>
            
             <rich:tabPanel switchType="ajax">
            
             <rich:tab label="#{msgForfait.entityName} *" labelClass="required">
             <h:panelGrid columns="1" styleClass="table_m" headerClass="th_m"
             rowClasses="td_m">
             <f:facet name="header">
             <h:outputText value="#{msgForfait.entityName}" />
             </f:facet>
             <h:outputText
             value="#{msgsCommon.selection} #{msgForfait.entityName}"
             rendered="#{lotHome.instance.forfait == null}" />
            
             <h:dataTable var="forfait" value="#{lotHome.instance.forfait}"
             rendered="#{lotHome.instance.forfait != null}"
             styleClass="table_s" columnClasses="table_s"
             rowClasses="td1_s,td2_s" headerClass="th_s"
             rowOnMouseOver="this.style.backgroundColor='#A5CBFF'"
             rowOnMouseOut="this.style.backgroundColor='#FFFFE0'"
             rowOnClick="this.style.backgroundColor='#FFE0E0'"
             rowOnDblClick="this.style.backgroundColor='#E0E0E0'"
             id="forfaitTable">
             <h:column>
             <f:facet name="header">
             <h:outputText value="action" />
             </f:facet>
             <s:link view="/Forfait.xhtml" id="viewforfait" propagation="none">
             <h:graphicImage value="/img/folder.gif" />
             <f:param name="forfaitForfaitId" value="#{forfait.forfaitId}" />
             </s:link>
             </h:column>
             <!--
             <h:column>
             <f:facet name="header"><h:outputText value="contactClient contactClientId" /></f:facet>
             <h:outputText value="#{forfait.contactClient.contactClientId}" />
             </h:column>
            -->
             <!--
             <h:column>
             <f:facet name="header"><h:outputText value="conditionsGenerales conditionsGeneralesId" /></f:facet>
             <h:outputText value="#{forfait.conditionsGenerales.conditionsGeneralesId}" />
             </h:column>
            -->
             <h:column>
             <f:facet name="header">
             <h:outputText value="#{msgForfait.numeroAvenant}" />
             </f:facet>
             <h:outputText value="#{forfait.numeroAvenant}" />
             </h:column>
             <h:column>
             <f:facet name="header">
             <h:outputText value="#{msgForfait.numeroCommande}" />
             </f:facet>
             <h:outputText value="#{forfait.numeroCommande}" />
             </h:column>
             <h:column>
             <f:facet name="header">
             <h:outputText value="#{msgForfait.dateSignature}" />
             </f:facet>
             <h:outputText value="#{forfait.dateSignature}" />
             </h:column>
             <h:column>
             <f:facet name="header">
             <h:outputText value="#{msgForfait.montantTotal}" />
             </f:facet>
             <h:outputText value="#{forfait.montantTotal}" />
             </h:column>
             </h:dataTable>
            
            
             <h:panelGrid columns="1">
             <s:link view="/ForfaitList.xhtml">
             <f:param name="from" value="LotEdit" />
             <h:graphicImage value="/img/wrench.gif" />
             </s:link>
             </h:panelGrid>
             </h:panelGrid>
             </rich:tab>
            
             <rich:tab label="#{msgCollaborateurAffecte.entityName}">
            
             <h:panelGrid columns="1" styleClass="table_m" headerClass="th_m"
             rowClasses="td_m" width="100%">
             <f:facet name="header">
             <h:outputText value="#{msgCollaborateurAffecte.entityName}" />
             </f:facet>
            
             <h:outputText
             value="#{msgsCommon.selection} #{msgCollaborateurAffecte.collaborateurAffecte}" />
            
             <h:panelGrid columns="5">
             <h:panelGrid columns="1" id="gridDateDebutAffectation">
             <h:outputText
             value="#{msgCollaborateurAffecte.dateDebutAffectation}" />
             <h:panelGroup>
             <h:inputText id="dateDebutAffectation" size="16" required="true"
             value="#{collaborateurAffecteHome.instance.dateDebutAffectation}">
             <s:convertDateTime pattern="dd/MM/yyyy" />
             </h:inputText>
             <s:selectDate for="dateDebutAffectation" dateFormat="dd/MM/yyyy">
             <h:graphicImage url="img/dtpick.gif" style="margin-left:5px" />
             </s:selectDate>
             </h:panelGroup>
             </h:panelGrid>
             <h:panelGrid columns="1" id="gridDateFinAffectation">
             <h:outputText
             value="#{msgCollaborateurAffecte.dateFinAffectation}" />
             <h:panelGroup>
             <h:inputText id="dateFinAffectation" size="16" required="true"
             value="#{collaborateurAffecteHome.instance.dateFinAffectation}">
             <s:convertDateTime pattern="dd/MM/yyyy" />
             </h:inputText>
             <s:selectDate for="dateFinAffectation" dateFormat="dd/MM/yyyy">
             <h:graphicImage url="img/dtpick.gif" style="margin-left:5px" />
             </s:selectDate>
             </h:panelGroup>
             </h:panelGrid>
             <h:panelGrid columns="1" id="gridSelectOneCollaborateur">
             <h:outputText value="#{msgCollaborateurAffecte.collaborateurs}" />
             <h:panelGroup>
             <h:selectOneMenu id="selectOneMenuCollaborateur"
             value="#{collaborateurHome.instance}">
             <s:selectItems value="#{societeHome.instance.collaborateurs}"
             var="varCollaborateur" label="#{varCollaborateur.nom}"
             id="selectItemCollaborateurId" />
             <s:convertEntity />
             </h:selectOneMenu>
             </h:panelGroup>
             </h:panelGrid>
            
             <h:panelGrid columns="1" id="gridAVBVNVNNV">
             <h:commandButton id="saveCollaborateurCollaborateurCollab"
             action="#{collaborateurAffecteHome.persist}"
             disabled="#{!collaborateurAffecteHome.wired}"
             rendered="#{!collaborateurAffecteHome.managed}"
             image="/img/disk.gif">
             </h:commandButton> </h:panelGrid>
             </h:panelGrid>
            
             <h:outputText
             value="#{msgsCommon.selection} #{msgCollaborateurAffecte.entityName}"
             rendered="#{empty lotHome.collaborateurAffectes}" />
            
             <h:dataTable value="#{lotHome.collaborateurAffectes}"
             var="collaborateurAffecte"
             rendered="#{not empty lotHome.collaborateurAffectes}"
             headerClass="th_s" styleClass="table_s" columnClasses="table_s"
             rowClasses="td1_s,td2_s"
             rowOnMouseOver="this.style.backgroundColor='#A5CBFF'"
             rowOnMouseOut="this.style.backgroundColor='#FFFFE0'"
             rowOnClick="this.style.backgroundColor='#FFE0E0'"
             rowOnDblClick="this.style.backgroundColor='#E0E0E0'"
             id="collaborateurAffectesTable">
             <h:column>
             <f:facet name="header">
             <h:outputText value="action" />
             </f:facet>
             <s:link view="/CollaborateurAffecte.xhtml"
             id="selectcollaborateurAffecte" propagation="none">
             <h:graphicImage value="/img/folder.gif" />
             <f:param name="collaborateurAffecteCollaborateurAffecteId"
             value="#{collaborateurAffecte.collaborateurAffecteId}" />
             <f:param name="collaborateurAffecteFrom" value="Lot" />
             </s:link>
             </h:column>
            
             <h:column>
             <f:facet name="header">
             <h:outputText
             value="#{msgCollaborateurAffecte.dateDebutAffectation}" />
             </f:facet>
             <h:outputText
             value="#{collaborateurAffecte.dateDebutAffectation}" />
             </h:column>
            
             <h:column>
             <f:facet name="header">
             <h:outputText
             value="#{msgCollaborateurAffecte.dateFinAffectation}" />
             </f:facet>
             <h:outputText value="#{collaborateurAffecte.dateFinAffectation}" />
             </h:column>
            
             </h:dataTable>
            
             <h:panelGrid columns="1" rendered="#{lotHome.managed}"
             id="collaborateurAffectes">
             <s:link id="addCollaborateurAffecte"
             view="/CollaborateurAffecteEdit.xhtml" propagation="none">
             <h:graphicImage value="/img/user_add.gif" />
             <f:param name="lotLotId" value="#{lotHome.instance.lotId}" />
             <f:param name="collaborateurAffecteFrom" value="Lot" />
             </s:link>
             </h:panelGrid>
             </h:panelGrid>
             </rich:tab>
             </rich:tabPanel>
             </ui:define>
            
            </ui:composition>


            When I add red rows in my page, it displays this errors :

            Exception during request processing: javax.servlet.ServletException: Client-id : _id5 is duplicated in the faces tree.
            javax.faces.webapp.FacesServlet.service(FacesServlet.java:121)
            org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
            org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
            org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:60)
            org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
            org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
            org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
            org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
            org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
            org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
            org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
            org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
            org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
            org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
            org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
            org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
            org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
            org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
            org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
            org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
            org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
            org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
            org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
            org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
            org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
            org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
            org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
            org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
            org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
            org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
            org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
            org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
            java.lang.Thread.run(Unknown Source)




            • 3. Re: Client-id : _id5 is duplicated in the faces tree.
              statelessbean

              this is typical problem when U use facelets. I had same problem, adding manyally id where it was possible solved problem.

              • 4. Re: Client-id : _id5 is duplicated in the faces tree.
                jsfman

                Add manually id in all my page

                • 5. Re: Client-id : _id5 is duplicated in the faces tree.
                  christian.bauer

                  So find out what your naming containers are (read some JSF documentation if you don't know what that is) and then you will know why you have a duplicate identifier in the scope of a particular naming container.

                  • 6. Re: Client-id : _id5 is duplicated in the faces tree.
                    limousyf

                    Just for other people having this issue.
                    We just forgot the h:form