[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