dimanche 6 décembre 2015

Using dataTable from primefaces does not work (like "No records found" but it's false)

Well there are a lot of similar posts but i was searching for ages and no one works for me... At least what i interpreted.

I'm using a primefaces dataTable Tag referencing to a JavaBean that shows a "No records found" menssage while my console prints tell me that here are 7 records in the array.

<ui:define name="cuerpo">
    <h:form>
        <p:dataTable id= "tablalistado" var="vusuario" value="#{usuario.getUsers}" border="1">
            <p:column>
                <f:facet name="header">#{msgs.tablaNombre}</f:facet>#{vusuario.NOMBRE}</p:column>
            <p:column>
                <f:facet name="header">#{msgs.tablaApellidos}</f:facet>#{vusuario.apellidos}</p:column>
            <p:column>
                <f:facet name="header">#{msgs.tablaLogin}</f:facet>#{vusuario.login}</p:column>
            <p:column>
                <f:facet name="header">#{msgs.tablaCorreo}</f:facet>#{vusuario.email}</p:column>
            <p:column>
                <f:facet name="header">#{msgs.tablaEstado}</f:facet>#{vusuario.activo}</p:column>
            <p:column>
                <f:facet name="header">#{msgs.tablaRol}</f:facet>#{vusuario.rol}</p:column>
            <p:column>
                <f:facet name="header">-</f:facet>

            </p:column>
        </p:dataTable>
    </h:form>
</ui:define>

Here's the JavaBean, dataTable initialise after the function "listado" and the print out of this function returns 7 as users.length:

package com.tew.presentation;

import java.io.Serializable;
import javax.faces.bean.*;
import javax.faces.event.ActionEvent;
import com.tew.business.UsuariosService;
import com.tew.infrastructure.Factories;
import com.tew.model.Usuario;;

@ManagedBean
@SessionScoped
public class BeanUsuarios implements Serializable{

    private static final long serialVersionUID = -802545933438561763L;
    private Usuario user = new Usuario();
    private Usuario[] users = null;
    public BeanUsuarios(){
        iniciaUsuario(null);
    }
    public void iniciaUsuario(ActionEvent event) {
        user.setID(null);
    }
    public Usuario getUser() {
        return user;
    }
    public void setUser(Usuario user) {
        this.user = user;
    }
    public Usuario[] getUsers() {
        return users;
    }
    public void setUsers(Usuario[] users) {
        this.users = users;
    }

    public String listado() {
        UsuariosService service;
        try {
            service = Factories.services.createUsuariosService();
            users = (Usuario [])service.getUsuarios().toArray(new Usuario[0]);
            System.out.println("Sacados de persistencia un total de: " + users.length + " usuarios...");
            return "exito";
        } catch (Exception e) {
            e.printStackTrace();
            return "error";
        }
    }

    public String edit(Usuario user) {
        UsuariosService service;
        try {
            service = Factories.services.createUsuariosService();
            service.update(user.getID(), user.isACTIVO());
            user.setACTIVO(!user.isACTIVO());
            return "";
        } catch (Exception e) {
            e.printStackTrace();
            return "error";
        }
    }

}

and finally here's the User class:

package com.tew.model;

import java.io.Serializable;

public class Usuario implements Serializable {

    private static final long serialVersionUID = -3235084034385128170L;
    private Long ID;
    private String LOGIN;
    private String PASSWD;
    private char ROL;
    private boolean ACTIVO;
    private String NOMBRE;
    private String APELLIDOS;
    private String EMAIL;

    public Usuario(Long iD, String lOGIN, String pASSWD, char rOL,
            boolean aCTIVO, String nOMBRE, String aPELLIDOS, String eMAIL) {
        super();
        ID = iD;
        LOGIN = lOGIN;
        PASSWD = pASSWD;
        ROL = rOL;
        ACTIVO = aCTIVO;
        NOMBRE = nOMBRE;
        APELLIDOS = aPELLIDOS;
        EMAIL = eMAIL;
    }

    public Usuario() {
    }

    public Long getID() {
        return ID;
    }
    public void setID(Long iD) {
        ID = iD;
    }
    public String getLOGIN() {
        return LOGIN;
    }
    public void setLOGIN(String lOGIN) {
        LOGIN = lOGIN;
    }
    public String getPASSWD() {
        return PASSWD;
    }
    public void setPASSWD(String pASSWD) {
        PASSWD = pASSWD;
    }
    public char getROL() {
        return ROL;
    }
    public void setROL(char rOL) {
        ROL = rOL;
    }
    public boolean isACTIVO() {
        return ACTIVO;
    }
    public void setACTIVO(boolean aCTIVO) {
        ACTIVO = aCTIVO;
    }
    public String getNOMBRE() {
        return NOMBRE;
    }
    public void setNOMBRE(String nOMBRE) {
        NOMBRE = nOMBRE;
    }
    public String getAPELLIDOS() {
        return APELLIDOS;
    }
    public void setAPELLIDOS(String aPELLIDOS) {
        APELLIDOS = aPELLIDOS;
    }
    public String getEMAIL() {
        return EMAIL;
    }
    public void setEMAIL(String eMAIL) {
        EMAIL = eMAIL;
    }

}

It's my first time whit this so dont be greedy with me if i'm doing somethin obviusly wrong :(




Aucun commentaire:

Enregistrer un commentaire