JSF - SelectItem

4 respostas
anderson.bonavides

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:

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

4 Respostas

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

anderson.bonavides

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

É 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:

T

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.

anderson.bonavides

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.

hehe

Verdade faltou o new ArrayList();

ahsuhas

Grato a todos!

Criado 21 de julho de 2008
Ultima resposta 21 de jul. de 2008
Respostas 4
Participantes 3