[RESOLVIDO]DataTable Ajuda

Boa noite a todos;

Alguém poderia me ajudar, e me dizer o que posso estar fazendo errado, eu preciso listar três campos na minha dataTable, mas, sem sucesso.

Olhem o código!

[code]<%@taglib prefix=“h” uri=“http://java.sun.com/jsf/html” %>
<%@taglib prefix=“f” uri=“http://java.sun.com/jsf/core” %>
<%@ taglib prefix=“rich” uri=“http://richfaces.ajax4jsf.org/rich”%>
<%@page contentType=“text/html” pageEncoding=“UTF-8”%>

<f:view>



Exemplo de DataTable



Montando um DataTable de CADASTROS

        <h:form id="dataTable">
        <center><rich:dataTable value="#{ClienteDao.todosClientes}" var="clientes" rows="10" id="table"></center>
            <f:facet name="header">
                <h:outputText id="listaClientes" value="TODOS OS CLIENTES CADASTRADOS"/>
            </f:facet>

            <rich:column>
                <f:facet name="header">
                    <h:outputText id="NomeID"/>
                </f:facet>
                <h:outputText id="nome" value="#{clientes.nome}"/>
            </rich:column>

            <rich:column>
                <f:facet name="header">
                    <h:outputText id="EmailID"/>
                </f:facet>
                <h:outputText id="email" value="#{clientes.email}"/>
            </rich:column>

            <rich:column>
                <f:facet name="header">
                    <h:outputText id="CpfID"/>
                </f:facet>
                <h:outputText id="cpf" value="#{clientes.cpf}"/>
            </rich:column>
            <h:commandButton id="botao" value="pesquisar" action="#{cliente.pesquisarTodos}"/>
        </rich:dataTable>
     </h:form>
    </body>
</html>

</f:view>[/code]

E na minha classe Bean tenho:

public class ClienteBean
{
    private String nome;
    private String cpf;
    private String email;
  
    public ClienteBean() {}

    public ClienteBean(String nome, String email, String cpf) 
   {
        this.nome = nome;
        this.email = email;
        this.cpf = cpf;
    }   

       // Metodos getters e setters;

     public void pesquisarTodos() throws SQLException
    {
        ClienteDao dao = new ClienteDao();
        dao.carregarDados(this);
        List<ClienteBean> todosClientes = dao.carregarDados(this);
    }

E também tenho minha classe DAO;

public List<ClienteBean> carregarDados(ClienteBean cliente) throws SQLException
 {
     String sql = "SELECT NOME, EMAIL, CPF FROM tb_cliente";  
     List <ClienteBean>todosClientes = new ArrayList<ClienteBean>();
     stmt = conexao.prepareStatement(sql);
     rs = stmt.executeQuery();

     while(rs.next())
     {
         cliente.setNome(rs.getString("NOME"));
         cliente.setEmail(rs.getString("EMAIL"));
         cliente.setCpf(rs.getString("CPF"));

         todosClientes.add(cliente);
     }
     rs.close();
     stmt.close();

     return todosClientes;

Se alguém conseguir me ajudar eu agradeço muito

obrigado!

mude aki na dattable var=“clietntes”…deve resolver!

Boa noite, nem reparei…haha
Arrumei e testei. Mas não retorna valor para a tabela

debug seu código pra v se o array está sendo preenchido, me parece ser ali o problema…

Sim, testei,
Meu Array esta sendo preenchido, fiz a correção na pagina JSP, que estava sem um <h:form>,
mas aparentemente eu estou errando na hora de colocar esses valores na DataTable.

Bom dia rbs_assis, cara parece que a sua lista foi declarada dentro do metodo pesquisarTodos(), tenta declarar essa lista como global e preenche-la dentro do metodo, detalhe não esqueça dos getters e setters, OBS: você deve buscar essa lista na Bean e não na DAO a dao tem que retornar para a controller a lista de clientes e a controller retornar para a bean, ae na bean você cria uma lista de clientes global que alimentara sua datatable,posta o resultado depois! espero ter ajudado t+

Boa tarde! Resolvido o problema

Depois de uma ajuda de um colega de classe, e da ajuda de vocês consegui!

Fiz o que você falou RafaelCassau.

Na minha bean.

private List cliente;

//e seus respectivos getters e setters

Na minha classe Dao abaixo do stmt.close(); inseri a linha de código que atribuía a variável cliente o valor armazenado na variável todosClientes.

cliente.setCliente(todosClientes);

E na minha JSP alterei na dataTable a linha 19

<rich:dataTable value="#{cliente.cliente}" var="cliente" >

Passando o meu bean que nomei como cliente na minha faces.config, e minha variavel do tipo List, que esta carregada com os valores obtidos pela variavel todosClientes,

Boa noite rbs_assis que bom que conseguiu resolver seu problema cara, é isso ae, qualquer duvida é só postar!!!