Erro JSF

[quote=gisa_screen][code]package controle;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;

import javax.faces.bean.SessionScoped;

import modelo.Contato;

@ManagedBean(name = “contatoMB”)
@SessionScoped
public class ContatoMB {
private static final long serialVersionUID = 1L;

private Contato contato = new Contato();;

private List<Contato> contatoLista = new ArrayList<Contato>();;

public ContatoMB() {

}

public Contato getContato() {
	return contato;
}

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

public List<Contato> getContatoLista() {
	return contatoLista;
}

public void setContatoLista(List<Contato> contatoLista) {
	this.contatoLista = contatoLista;
}

public String salvarContato() {

	// adicionando contatos na lista
	contatoLista.add(contato);

	// instancia uma nova pessoa a ser cadastrada
	contato = new Contato();
	return "listaContato";
}

}
[/code][/quote]

Crie um método publico chamado ‘inicializar’ por exemplo, e adicione a anotação @PostConstruct nele. Essa anotação indica que o método deve ser executado assim que o back for criado. Nesse caso inicialize todas as variáveis nesse método.

Aproveite e passe seu back para @ViewScoped, pois usar session em jsf2 na maioria dos casos é desnecessário.

Ve se fica assim amigo:

[code]package controle;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import modelo.Contato;

@ManagedBean(name = “contatoMB”)
@ViewScoped
public class ContatoMB {
private static final long serialVersionUID = 1L;

// instancia de Contato
private Contato contato = new Contato();;

private List<Contato> contatoLista = new ArrayList<Contato>();

public ContatoMB() {

}

@PostConstruct
public void inicializar() {

	this.contato = new Contato();
	this.contatoLista = new ArrayList<Contato>();

}

public Contato getContato() {
	return contato;
}

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

public List<Contato> getContatoLista() {
	return contatoLista;
}

public void setContatoLista(List<Contato> contatoLista) {
	this.contatoLista = contatoLista;
}

public String salvarContato() {

	// adicionando contatos na lista
	contatoLista.add(contato);

	// instancia uma nova pessoa a ser cadastrada
	contato = new Contato();
	return "listaContato";
}

}[/code]

thank you!

[quote=gisa_screen]Ve se fica assim amigo:

[code]package controle;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import modelo.Contato;

@ManagedBean(name = “contatoMB”)
@ViewScoped
public class ContatoMB {
private static final long serialVersionUID = 1L;

// instancia de Contato
private Contato contato = new Contato();;

private List<Contato> contatoLista = new ArrayList<Contato>();

public ContatoMB() {

}

@PostConstruct
public void inicializar() {

	this.contato = new Contato();
	this.contatoLista = new ArrayList<Contato>();

}

public Contato getContato() {
	return contato;
}

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

public List<Contato> getContatoLista() {
	return contatoLista;
}

public void setContatoLista(List<Contato> contatoLista) {
	this.contatoLista = contatoLista;
}

public String salvarContato() {

	// adicionando contatos na lista
	contatoLista.add(contato);

	// instancia uma nova pessoa a ser cadastrada
	contato = new Contato();
	return "listaContato";
}

}[/code]

thank you!
[/quote]

Isso mesmo, agora é só “tocar o enterro” auhauhaua