JSF - SelectItem

Pessoal, estou com uma pequena duvida na classe SelectItem. Tenho esse método no meu Managed Bean que retorna uma lista de contatos, ela vem toda bunitinha mas q uando chega na linha que é adicionado o contato uma exceção é lançada em tempo de execução.

Segue meu código. Caso alguém queira dar uma olhada nos códigos referente a esse método é só avisar.

public List<SelectItem> getTodosContatos() { ContatoBusiness contatoBusiness = new ContatoBusiness(); List<Contato> contato = contatoBusiness.listarContatos(); contato = contatoBusiness.listarContatos(); for (Contato contato2 : contato) { todosContatos.add(new SelectItem(new Integer(contato2.getId()))); } return todosContatos; }

Segue o ERRO + EXCEÇÃO:

[code]org.apache.jasper.JasperException: javax.servlet.jsp.JspException: javax.faces.el.EvaluationException: Error getting property ‘todosContatos’ from bean of type crudjsf.mb.ContatoMB: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:476)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:268)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)

root cause [/code]

cara
pra dar Nullpointer me parece que ou o seu metodo contatoBusiness.listarContatos() está retornando null ou o método contato2.getId() está retornando null

[quote=SadNess]cara
pra dar Nullpointer me parece que ou o seu metodo contatoBusiness.listarContatos() está retornando null ou o método contato2.getId() está retornando null[/quote]

É verdade NullPointException é causado quando um objeto está setado como null, mas a verdade é que até o for acontecer as variáveis de objetos contatos2 e contatos contém valores setados com nome, telefone, e-mail, e data de nascimento.

:roll:

Provavelmente a variável todosContatos não foi inicializado.
Antes de entrar no for faça isso:

todosContatos = new ArrayList<SelectItem>(contato.size());

Outra coisa, você está repetindo a mesma coisa duas vezes,

List<Contato> contato = contatoBusiness.listarContatos(); contato = contatoBusiness.listarContatos();

Retire uma das linhas.
Posta o resultado pra nós.

[quote=tma]Provavelmente a variável todosContatos não foi inicializado.
Antes de entrar no for faça isso:

todosContatos = new ArrayList<SelectItem>(contato.size());

Outra coisa, você está repetindo a mesma coisa duas vezes,

List<Contato> contato = contatoBusiness.listarContatos(); contato = contatoBusiness.listarContatos();

Retire uma das linhas.
Posta o resultado pra nós.[/quote]

hehe

Verdade faltou o new ArrayList();

ahsuhas

Grato a todos!