Mostrar dados do banco em um DATA TABLE(RESOLVIDO)

Já dei uma olhada em outros tópicos sobre o mesmo assunto, vi algumas coisas mas ainda não consegui resolver meu problema…
1-criei o meu managed bean que ficou assim:

<managed-bean>
        <managed-bean-name>listacontato</managed-bean-name>
        <managed-bean-class>backbean.Contatobackbean</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>

2- e o meu backbean:

public class Contatobackbean {

      private ArrayList<Contato> listaContato =  new ArrayList();
      private int contador = 0;
      private ContatoDao contato1 = new ContatoDao();
      private  Contato contato = new Contato();



      //para salvar na lista
        public void Salvar(){
        contato.setId(contador++);
        listaContato.add(contato);
        contato = new Contato();

    }

    public ArrayList<Contato> getListaContatos() {
        return listaContato;
    }

    public void setListaContato(ArrayList<Contato> listaContato) {
        this.listaContato = listaContato;
    }



    public Contato getContato() {
        return contato;
    }

    public void setContato(Contato contato) {
        this.contato = contato;
    }

    public ContatoDao getContato1() {
        return contato1;
    }

    public void setContato1(ContatoDao contato1) {
        this.contato1 = contato1;
    }
 public String salvar() {
        try {
            contato1.CadastraContato(contato);
            contato = new Contato();
        } catch (SQLException ex) {
            Logger.getLogger(Contatobackbean.class.getName()).log(Level.SEVERE, null, ex);
        }return "salvar";
       }

}

O problema é que quando tento colocar na minha tabela os campos que deve mostrar ele sempre da erro

//quando vou preencher o meu value não aparece meu metodo para listar
  <rich:dataTable rows="5" id="lista" value="#{}" var="contato">

                <h:column>
                    <f:facet name="header"><h:outputText value="Nome Guerra"/></f:facet>
                    <h:outputText value=""/>
                </h:column>

ja tentou colocar <h:outputtext value=#{contato.nomeDoCampoDesejado}/>?

tentei passar assim:

<rich:dataTable rows="5" id="lista" value="#{listacontato.listaContatos}" var="contato">
<h:column>
                    <f:facet name="header"><h:outputText value="Nome Guerra"/></f:facet>
                    <h:outputText value="#{listacontato.contato.nomeguerra}"/>
                </h:column>

mas não deu em nada.

Quando dou um Ctrl+barRaDespaço…ele so me retorna os meus metodos, queria saber se o value que eu vou passar pra minha lista é o meu
[i]listacontatos/i e para cada campo eu vou ter que passar : “listacontato.contato.nomeguerra”

Não tenho certeza, mas acho que não precisa colocar por exemplo: listadecontato.contato.nome.
Já tentou apenas colocando contato.nome.
Porque o contato passado no var=contato tem a “função” de um bean.

por exemplo:
eu tenho um página que eu usei da seguinte forma:

<rich:dataTable var="record" value="#{teste.all}" align="center">

Onde var é a variável declarada para a utilização das colunas, o value é aonde vai listar os dados do banco.

e implementa da seguinte maneira:

<h:outputText value="#{record.nome}" />

deu para entender?

até +

Estou passando exatamente dessa forma ai…Mas nada de funfar.
O meu backbean está certo?
Tem que criar mais alguma coisa?

Como ta teu no teu bean?

Tenta isso:

<rich:dataTable rows="5" id="lista" value="#{listacontato.listaContatos}" var="contato"> <h:column> <f:facet name="header"><h:outputText value="Nome Guerra"/></f:facet> <h:outputText value="#{contato.nomeguerra}"/> </h:column>

Meu bean:

public class Contato {
private int id;
private String nomeguerra;
private String nome;
private String setor;
private String filial;
private int cgc;
private String uf;
private String cidade;
private String bairro;
private String logradouro;
private int cep;
private int telefone1;
private int telefone2;
private int telefone3;

    public String getLogradouro() {
        return logradouro;
    }

    public void setLogradouro(String logradouro) {
        this.logradouro = logradouro;
    }

    public String getUf() {
        return uf;
    }

    public void setUf(String uf) {
        this.uf = uf;
    }


    public String getBairro() {
        return bairro;
    }

    public void setBairro(String bairro) {
        this.bairro = bairro;
    }

    public int getCep() {
        return cep;
    }

    public void setCep(int cep) {
        this.cep = cep;
    }

    public String getCidade() {
        return cidade;
    }

    public void setCidade(String cidade) {
        this.cidade = cidade;
    }



    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getCgc() {
        return cgc;
    }

    public void setCgc(int cgc) {
        this.cgc = cgc;

    }

    public int getTelefone3() {
        return telefone3;
    }

    public void setTelefone3(int telefone3) {
        this.telefone3 = telefone3;
    }

    public String getFilial() {
        return filial;
    }

    public void setFilial(String filial) {
        this.filial = filial;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getNomeguerra() {
        return nomeguerra;
    }

    public void setNomeguerra(String nomeguerra) {
        this.nomeguerra = nomeguerra;
    }

    public String getSetor() {
        return setor;
    }

    public void setSetor(String setor) {
        this.setor = setor;
    }

    public int getTelefone1() {
        return telefone1;
    }

    public void setTelefone1(int telefone1) {
        this.telefone1 = telefone1;
    }

    public int getTelefone2() {
        return telefone2;
    }

    public void setTelefone2(int telefone2) {
        this.telefone2 = telefone2;
    }


}

não vi a lista de array

cria uma instancia e depois faça a busca desse array da seguinte forma:

 public Result getAll() throws SQLException{

		   PreparedStatement st;

		   ResultSet rs = null;

		   Connection  Conn = Conexao.getConnection();

			   try {

				st = Conn.prepareStatement("SELECT * FROM tabela order by campo ");

				rs = st.executeQuery();

				Conn.close();

			} catch (SQLException e) {

				e.printStackTrace();

			}

	   	

	   	return ResultSupport.toResult(rs);

	   }

}

Ta no meu DAO:

public ArrayList<Contato> listarProdutos() {
        ArrayList<Contato> lista = null;
        try {
            String sql = "select * from contatos";
            Connection con = ConnectionFactory.getConnection();
            PreparedStatement pstmt = con.prepareStatement(sql);
            ResultSet resultado;

            resultado = pstmt.executeQuery();
            lista = new ArrayList();
            while (resultado.next()) {

                Contato contato = new Contato();
                contato.setId(resultado.getInt("id"));
                contato.setNomeguerra(resultado.getString("nomeguerra"));

                lista.add(contato);
            }

        } catch (SQLException ex) {
            System.out.println(ex);
        }
        return lista;
    }

Eu tenho que chamar esse metodo para listar em algum botão, criar alguma ação para essa listagem acontecer?

Você tentou a citação abaixo:

[quote=markin1]Tenta isso:

<rich:dataTable rows="5" id="lista" value="#{listacontato.listaContatos}" var="contato"> <h:column> <f:facet name="header"><h:outputText value="Nome Guerra"/></f:facet> <h:outputText value="#{contato.nomeguerra}"/> </h:column> [/quote]

Agora que eu reparei no seu backing bean, você não está populando a lista, dentro do seu método getListaContatos faça algo assim:

listaContatos = dao.ListarProdutos(); return listaContatos;

entendeu?

SIM:
Quando eu tento setar aqui:

  <rich:dataTable  rows="10" id="lista" value="#{listacontato.listaContatos}" var="contato">

Basta digitar listacontato.(que vem o outro listaContatos)
agora quando é no campo da tabela

 <h:column>
                    <f:facet name="header"><h:outputText value="Nome"/></f:facet>
                    <h:outputText value="#{contato.nome}"/>
                </h:column>

quando eu digito contato.(não aparece nada mas mesmo assim tentei desse jeito, não retornou nada mas também não deu erro

E Esse post abaixo:

[quote=markin1]Agora que eu reparei no seu backing bean, você não está populando a lista, dentro do seu método getListaContatos faça algo assim:

listaContatos = dao.ListarProdutos(); return listaContatos;

entendeu?[/quote]

FUNFOU…
Só mais uma pergunta…os meus botões que eu criei na minha pagina jsp, ficam todos com aparencia de botão de desktop, cor cinza ou algo assim, mas das paginas que eu vejo sempre são azuis da cor do skin que eu to usando,como eu mudo a cor do meu?

os que você vê provavelmente são do richfaces com skin blue e os que você está usando são do faces, que renderizam um submit do html sem nenhum estilo css.