Problemas ao listar usando o <p:dataTable> do PrimeFaces

Pessoal… estou tentando listar algumas informações do banco de dados usando dataTable… mas quando vou carregar a pagina… esta aparecendo uma informação que o meu metodo lista() nao foi encontrado… alguem poderia me dar uma forcinha?

Muito Obrigado

XHTML:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!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:h="http://java.sun.com/jsf/html"  
    xmlns:f="http://java.sun.com/jsf/core"  
    xmlns:p="http://primefaces.org/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
</h:head>
<h:body>

	<h:form>
	
	
	
	
	
		
	<p:accordionPanel>
	
	<p:tab title="Cadastrar Contatos">
		
		<p:panelGrid columns="2" align="right">
		
			<f:facet name="header">
			
				Dados
			
			</f:facet>
		
			<h:outputLabel value="Nome: *" />
			<p:inputText value="#{contatoBean.contato.nome}" />
		
			<h:outputLabel value="Email: " />
			<p:inputText value="#{contatoBean.contato.email}" />
		
			<h:outputLabel value="Endereço: *" />
			<p:inputText value="#{contatoBean.contato.endereco}" />
			
			<h:outputLabel value="RG: *" />
			<p:inputText value="#{contatoBean.contato.rg}" />
			
			<h:outputLabel value="CPF: *" />
			<p:inputText value="#{contatoBean.contato.cpf}" />
			
			<h:outputLabel value="Telefone: *" />
			<p:inputText value="#{contatoBean.contato.telefone}" />
		
			
			
			
			
			<f:facet name="footer">
			
				<h:commandButton value="Enviar" action="#{contatoBean.contato.adiciona}"/>		
				
			
			</f:facet>
		
		</p:panelGrid>	
		
		</p:tab>
		
		
		
		
		
			<p:tab title="Lista Todos Contatos">
			
			<p:dataTable id="dataTable" var="contato" value="#{contatoBean.contato.lista}">
			
				<f:facet name="header">
				
					Contatos
				
				</f:facet>
				
				<p:column id="nomeContato" sortBy="#{contato.nome}">
				
					<f:facet name="header">
						
						<h:outputText value="Nome"/>
					
					</f:facet>
				
				</p:column>
			
			</p:dataTable>
			
			</p:tab>
		
		</p:accordionPanel>
		
		
		
			
		
	
	</h:form>

</h:body>
</html>

CONTATOBEAN:

package br.com.contato;

import javax.faces.bean.ManagedBean;

import br.com.contato.connection.dao.ContatoDAO;

@ManagedBean
public class ContatoBean {

	Contato contato = new Contato();
	ContatoDAO dao = new ContatoDAO();
	
	
		
	

	public ContatoDAO getDao() {
		return dao;
	}

	public void setDao(ContatoDAO dao) {
		this.dao = dao;
	}

	public Contato getContato() {
		return contato;
	}

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

		
		
	
		
		
		
	}


CONTATO:


package br.com.contato;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import br.com.contato.connection.ConnectionFactory;

public class Contato {
	
	private long id;
	private String nome;
	private String email;
	private String endereco;
	private Calendar dataNascimento;
	private String telefone;
	private String rg;
	private String cpf;
	private ContatoBean bean;
	
	
	
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getEndereco() {
		return endereco;
	}
	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}
	public Calendar getDataNascimento() {
		return dataNascimento;
	}
	public void setDataNascimento(Calendar dataNascimento) {
		this.dataNascimento = dataNascimento;
	}
	public String getTelefone() {
		return telefone;
	}
	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}
	public String getRg() {
		return rg;
	}
	public void setRg(String rg) {
		this.rg = rg;
	}
	public String getCpf() {
		return cpf;
	}
	public void setCpf(String cpf) {
		this.cpf = cpf;
	}
	public ContatoBean getBean() {
		return bean;
	}
	public void setBean(ContatoBean bean) {
		this.bean = bean;
	}
	
	public void adiciona(){
		
		Connection con =  new ConnectionFactory().getConnection();
		
		String sql="insert into tb_contato(nome_contato,email_contato,rg_contato,cpf_contato,telefone_contato,endereco_contato)" +
				"values(?,?,?,?,?,?)";
		
		try {
			PreparedStatement stmt = con.prepareStatement(sql);
			
			
			
			stmt.setString(1, this.getNome());
			stmt.setString(2, getEmail());
			//stmt.setDate(3, new Date(getDataNascimento().getTimeInMillis()));
			//stmt.setDate(3, new Date(getDataNascimento().getTimeInMillis()) );
			stmt.setString(3, getRg());
			stmt.setString(4, getCpf());
			stmt.setString(5, getTelefone());
			stmt.setString(6, getEndereco());
			
			
			stmt.execute();
			stmt.close();
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			throw new RuntimeException(e);
		}
		
	}
	
	public List<Contato> lista(){
		
		Connection con = new ConnectionFactory().getConnection();
		List<Contato> contatos = new ArrayList<Contato>();
		
		String sql = "select * from tb_contato";
		
		
		try {
			
			PreparedStatement stmt = con.prepareStatement(sql);
			ResultSet rs = stmt.executeQuery();
			
			while(rs.next()){
				
				Contato contato = new Contato();
			
				setId(rs.getLong("idtb_contato"));
				setNome(rs.getString("nome_contato"));
				setEmail(rs.getString("email_contato"));
				setRg(rs.getString("rg_contato"));
				setCpf(rs.getString("cpf_contato"));
				setTelefone(rs.getString("telefone_contato"));
				setEndereco(rs.getString("endereco_contato"));
			
				contatos.add(contato);
			
			}
			
			rs.close();
			stmt.close();
			
			return contatos;
			
		} catch (SQLException e) {

			throw new RuntimeException(e);			
			
		}
		
	}

}

ERRO:


08/04/2012 18:22:57 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet Faces Servlet threw exception
javax.el.PropertyNotFoundException: /tela-cadastro.xhtml @71,83 value="#{contatoBean.contato.lista}": Property 'lista' not found on type br.com.contato.Contato
	at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
	at org.primefaces.component.datatable.DataTable.isLazy(DataTable.java:968)
	at org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:191)
	at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:108)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
	at org.primefaces.component.accordionpanel.AccordionPanelRenderer.encodeTab(AccordionPanelRenderer.java:218)
	at org.primefaces.component.accordionpanel.AccordionPanelRenderer.encodeTabs(AccordionPanelRenderer.java:147)
	at org.primefaces.component.accordionpanel.AccordionPanelRenderer.encodeMarkup(AccordionPanelRenderer.java:91)
	at org.primefaces.component.accordionpanel.AccordionPanelRenderer.encodeEnd(AccordionPanelRenderer.java:71)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
	at java.lang.Thread.run(Unknown Source)
08/04/2012 18:22:58 org.apache.catalina.core.StandardContext reload
INFO: Reloading this Context has started
08/04/2012 18:22:58 org.apache.catalina.core.StandardContext addApplicationListener
INFO: The listener "com.sun.faces.config.ConfigureListener" is already configured for this context. The duplicate definition has been ignored.
08/04/2012 18:22:59 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Inicializando Mojarra 2.1.7 (SNAPSHOT 20120206) para o contexto '/projetoContato'
08/04/2012 18:23:01 org.primefaces.webapp.PostConstructApplicationEventListener processEvent
INFO: Running on PrimeFaces 3.2

Acredito que a propriedade que vai setada no datatable não possa ser um método. Você teria que criar uma lista que recebesse o retorno desse método e setar essa lista ali no datatable.