rich:DataTable in rich:tabPanel
krismcg Jul 17, 2008 2:26 PMHey all,
I'm using a rich:dataTable within a rich:tabPanel and am getting the following error:
javax.servlet.ServletException: duplicate Id for a component j_id_jsp_917984629_12:j_id_jsp_917984629_14 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
I am using the following markup:
<!-- Main Tabs -->
<rich:tabPanel switchType="server" headerClass="tab-header"
contentClass="tab-content">
<rich:tab label="Home">
<rich:dataTable value="#{testBean.results}" var="row"
style="text-align:left" rows="10">
<rich:columns value="#{testBean.columnHeaders}" var="columnHeader" >
<f:facet name="header">
<h:outputText value="#{columnHeader}" />
</f:facet>
<h:outputText value="#{row[columnHeader]}" />
</rich:columns>
<f:facet name="footer">
</f:facet>
</rich:dataTable>
</rich:tab>
<rich:tab label="Program View">
</rich:tab>
</rich:tabPanel>... and the following TestBean:
public class TestBean {
private List<Map<String,String>> results;
private List<String> columnHeaders;
public TestBean()
{
columnHeaders = new ArrayList<String>();
columnHeaders.add("col1");
columnHeaders.add("col2");
columnHeaders.add("col3");
results = new ArrayList<Map<String,String>>();
Map<String, String> result1 = new HashMap<String, String>();
result1.put("col1", "col1row1");
result1.put("col2", "col2row1");
result1.put("col3", "col3row1");
results.add(result1);
Map<String, String> result2 = new HashMap<String, String>();
result2.put("col1", "col1row2");
result2.put("col2", "col2row2");
result2.put("col3", "col3row2");
results.add(result2);
Map<String, String> result3 = new HashMap<String, String>();
result3.put("col1", "col1row3");
result3.put("col2", "col2row3");
result3.put("col3", "col3row3");
results.add(result3);
}
public List<Map<String, String>> getResults() {
return results;
}
public List<String> getColumnHeaders() {
return columnHeaders;
}
}If I use Tomahawk's dataTable, it works fine. Any ideas why it's not working with RichFaces?
Thanks for any insight!
-Kris