When <ui:repeat> works for X but <c:forEach> works for Y

<c:forEach> does not build JSF tree nodes on the server. You can see this directly in the html, the inputs do not have the usual long and distinct id="j_12:customerTabPanel:j_34:customerName".

Please, read this:

https://rogerkeays.com/jsf-c-foreach-vs-ui-repeat


<c:***> tags are build-time tags, as <ui:***> are rendered-time tags. To get the difference between these two concepts, I recommand you to read the two links below:

  • <c:forEach> vs <ui:repeat>
  • Why <ui:repeat> does not work?
    (editor's note (2013-01-03: dead link)

Tags:

Java

Jstl

Jsf