libreria library fcs empty ejemplo descargar jsf facelets mojarra

library - jsf ejemplo



ui: repetir y h: panelGrid (1)

Cuando se usa algo como

<h:panelGrid columns="1"> <ui:repeat var="o" value="#{mybean.list}"> <h:outputText value="#{o.text}"/> </ui:repeat> </h:panelGrid>

con permite decir 10 entradas de lista, solo obtengo 1 fila, por ejemplo: un tr con 1 td, mientras que cuando uso c: forEach obtengo 10 (pero c: porque cada uno es de hecho malo, lo estropea todo con ajax)

Uso mojarra 1.2. ¿Es este un error típico de Mojarra que no existe en la implementación de MyFaces? ¿Desaparecerá en 2.x de las versiones de Mojarra?


La salida es completamente como se esperaba y se especificó. La <ui:repeat> es una etiqueta de tiempo de renderizado, no una etiqueta de tiempo de construcción de vista como <c:forEach> . Después de <h:panelGrid> la vista, <h:panelGrid> termina con 1 componente secundario (el <ui:repeat> sí mismo), no con n <h:outputText> componentes como con <c:forEach> .

En su lugar, necesita una <h:dataTable> . Está diseñado para exactamente este propósito.

<h:dataTable var="o" value="#{mybean.list}"> <h:column> <h:outputText value="#{o.text}"/> </h:column> </h:dataTable>

Ver también: