I am making a form in PrimeFaces , and when performing a CRUD operation it works without problems, but when listing the information from a dataTable
, it does not show me any information, in the console it tells me that the information was successfully consulted.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<ui:composition template="/paginas/plantilla/plantilla.xhtml">
<ui:define name="tituloPagina">
<h:outputText value="Gestion de Tipo de Identificacion" />
</ui:define>
<ui:define name="cuerpo">
<h:form>
<p:messages id="capaMensajes" showDetail="true" autoUpdate="true" closable="true"></p:messages>
<p:fieldset legend="formulario datos tipo de identificacion" toggleable="true" toggleSpeed="500">
<p:toolbar>
<f:facet name="right">
<p:commandButton value="Limpiar" id="cbLimpiar" action="#{TipoIdentificacionBean}" ></p:commandButton>
<p:commandButton value="Crear" id="cbCrear" action="#{TipoIdentificacionBean.crear()}" ></p:commandButton>
<p:commandButton value="Actualizar" id="cbActualizar" action="#{TipoIdentificacionBean.actualizar()}" ></p:commandButton>
<p:commandButton value="Eliminar" id="cbEliminar" action="#{TipoIdentificacionBean.eliminar()}" ></p:commandButton>
<p:commandButton value="Consultar" id="cbConsultar" action="#{TipoIdentificacionBean.consultar()}" ></p:commandButton>
</f:facet>
</p:toolbar>
<br/>
<p:panelGrid columns="2">
<h:outputLabel for="itNombre" value="Nombre Tipo Identificacion" />
<p:inputText id="itNombre" value="#{TipoIdentificacionBean.tipoIdentificacion.nvNombre}">
<p:tooltip for="itNombre" value="Campo para Ingresar el Nombre del tipo de Identificacion"
showEffect ="explode" hideEffect="explode"></p:tooltip></p:inputText>
</p:panelGrid>
</p:fieldset>
<p:fieldset legend="Lista de Resultados" toggleable="true" toggleSpeed="500">
<p:dataTable value="#{TipoIdentificacionBean.consultarTodos()}" var="tipoIdentificacion" id="idTablaTiposIdentificacion"
emptyMessage="No existen Tipos de Identificacion para mostrar">
<p:column headerText="Codigo"></p:column>
<h:outputText value="#{tipoIdentificacion.inCodigo}" />
<p:column headerText="Nombre"></p:column>
<h:outputText value="#{tipoIdentificacion.nvNombre}" />
<p:column headerText="Fecha Creacion"></p:column>
<h:outputText value="#{tipoIdentificacion.dtFechaCreacion}" />
<p:column headerText="Fecha Modificacion"></p:column>
<h:outputText value="#{tipoIdentificacion.dtFechaModificacion}" />
<p:column headerText="Fecha Eliminacion"></p:column>
<h:outputText value="#{tipoIdentificacion.dtFechaEliminacion}" />
<p:column headerText="Usuario Eliminacion"></p:column>
<h:outputText value="#{tipoIdentificacion.segUsuarioByInCodigoUsuarioEliminacion}"/>
<p:column headerText="Usuario Creacion"></p:column>
<h:outputText value="#{tipoIdentificacion.segUsuarioByInCodigoUsuarioCreacion}"/>
<p:column headerText="Usuario Modificacion"></p:column>
<h:outputText value="#{tipoIdentificacion.segUsuarioByInCodigoUsuarioModificacion}"/>
</p:dataTable>
</p:fieldset>
</h:form>
</ui:define>
</ui:composition>
<body>
</body>
</html>
Reference a property of the bean, for example IDList, to be loaded into an initialization method marked with @PostConstruct, and create get/set. Something like that:
... private List<SegTipoIdentificacion> listaIdentificadores; ... @PostConstruct public void init (){ listaIdentificadores = consultarTodos(); } public List<SegTipoIdentificacion> getListaIdentificadores(){ return listaIdentificadores; }
and in the xhtml:
In order to display your data in the view, you need to initialize your constructor, you do this with the annotation
@PostConstruct
, and this method must contain a list or aMap
, so that it can display the desired values. This is already up to the developer.