Hi, I am upgrading my application from JSF 1.2 to JSF 2.
I am trying a below simple forEach tag but it not showing anything inside the loop. <table id="tab${sectionId}" border="0" cellpadding="0" cellspacing="0" width="100%" class="listingTable" > <c:forEach var="row" rowStatus="index" items="#{bean.department.userActivities}" > <tr> <td> test </td> </tr> </c:forEach> </table> The value test is not showing up. Has the c:forEach implementaion changed? I tried replacing <c:forEach> with <t:dataList> but <t:dataList> has some other issue. It is rendering the content inside it. But if I have a component inside <t:dataList>, I am not able to assign a backing bean value as ID of the component. Example is as below <table id="tab${sectionId}" border="0" cellpadding="0" cellspacing="0" width="100%" class="listingTable" > <t:dataList var="row" rowIndexVar="index" value="#{bean.department.userActivities}" > <h:column> <h:outputText id="#{row.activityCode}">test1</h:outputText> </h:column> </t:dataList> </table> So, with <t:dataList>. I am not able to assign backing bean property as ID of the component. I am receiving the error "java.lang.IllegalArgumentException: component identifier must not be a zero-length String " Can anyone please help me in understanding as to why the c:forEach tag is not working. I have huge code which is using forEach tag. With upgrade, I will have to remove every forEach if it is no more supported in JSF2 :( Thanks in advance!