1 Reply Latest reply on Mar 22, 2010 5:51 AM by Ilya Shaikovsky

    Duplicate ID issue with DataTable while iterating through <c:forEach

    Vinny Tiwari Newbie

      Hi All,

       

      I am trying to load the data in datatable on the expansion of PanelGroup only but getting one issue when trying to iterate using <c:forEach.


      <rich:panelMenuGroup label="Application History">
      <c:forEach  var="app" items="#{applicationBean.dataList}">
           <rich:panelMenuGroup label="#{app.appName}" expandMode="ajax" rendered="true" reRender="pitem" action="#{rolesBean.onAct}">
         <rich:panelMenuItem id="pitem" mode="ajax" rendered="true" reRender="Roles" icon="none">
             <rich:dataTable value="#{rolesBean.list}"
               var="dataItem"
               id="Roles"


         ...............    

        </rich:panelMenuItem>
           </rich:panelMenuGroup>
      </c:forEach>
      </rich:panelMenuGroup>


      but getting exception due to the same ID in every iteration.

      javax.servlet.ServletException: duplicate Id for a component j_id3:app
      javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
      org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
      org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
      org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
      org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
      org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

       

      How can I change the ID with every iteration?  I need the ID in DataTable to render once the data is loaded. Pl. help and give your suggesstions.