Why does p:panelGrid not work with ui:repeat?
ui:repeat
will not work because it does not actually add components to the component tree.
ui:repeat
only works during the render phase, and rerenders its child components multiple times with different state.
Some components, such as panelgrid
, but also datatable
, expect to have certain children in the component tree in order to work correctly. Since ui:repeat
does not add these, this approach does not work.
I'm sorry, but the normal solution for this is to use c:foreach
, which does add children to the tree.
See https://rogerkeays.com/jsf-c-foreach-vs-ui-repeat