Popular SelectOneMenu JSF, com uma classe Enum
Boa Tarde,
Como fazer para popular um SelectOneMenu com uma Classe Enum? Olhei em alguns sites mas não consegui fazer.
Obrigado!
Como fazer para popular um SelectOneMenu com uma Classe Enum? Olhei em alguns sites mas não consegui fazer.
Obrigado!
André Faresin
Curtidas 0
Melhor post
Davi Costa
03/05/2012
public enum Situacao {
ABERTO(ABE),
CONCLUIDO(CON),
PENDENTE(PEN),
CANCELADO(CAN),
ANDAMENTO(AND),
NA(N/A);
protected String descricao = null;
private Situacao(String descricao) {
this.descricao = descricao;
}
}
...........
private List<Situacao> situacoes;
public List<Situacao> getSituacoes() {
if(situacoes == null || situacoes.isEmpty()){
situacoes = new ArrayList<Situacao>();
for (Situacao sit : Situacao.values()) {
situacoes.add(sit);
}
}
return situacoes;
}
att Davi
ABERTO(ABE),
CONCLUIDO(CON),
PENDENTE(PEN),
CANCELADO(CAN),
ANDAMENTO(AND),
NA(N/A);
protected String descricao = null;
private Situacao(String descricao) {
this.descricao = descricao;
}
}
...........
private List<Situacao> situacoes;
public List<Situacao> getSituacoes() {
if(situacoes == null || situacoes.isEmpty()){
situacoes = new ArrayList<Situacao>();
for (Situacao sit : Situacao.values()) {
situacoes.add(sit);
}
}
return situacoes;
}
att Davi
GOSTEI 1
Mais Respostas
Diogo Souza
03/05/2012
public enum Situacao {
ABERTO(ABE),
CONCLUIDO(CON),
PENDENTE(PEN),
CANCELADO(CAN),
ANDAMENTO(AND),
NA(N/A);
protected String descricao = null;
private Situacao(String descricao) {
this.descricao = descricao;
}
}
...........
private List<Situacao> situacoes;
public List<Situacao> getSituacoes() {
if(situacoes == null || situacoes.isEmpty()){
situacoes = new ArrayList<Situacao>();
for (Situacao sit : Situacao.values()) {
situacoes.add(sit);
}
}
return situacoes;
}
att Davi
ABERTO(ABE),
CONCLUIDO(CON),
PENDENTE(PEN),
CANCELADO(CAN),
ANDAMENTO(AND),
NA(N/A);
protected String descricao = null;
private Situacao(String descricao) {
this.descricao = descricao;
}
}
...........
private List<Situacao> situacoes;
public List<Situacao> getSituacoes() {
if(situacoes == null || situacoes.isEmpty()){
situacoes = new ArrayList<Situacao>();
for (Situacao sit : Situacao.values()) {
situacoes.add(sit);
}
}
return situacoes;
}
att Davi
Só algumas ressalvas, no teu enum deve constar os valores das Strings entre aspas:
ABERTO(ABE), CONCLUIDO(CON), PENDENTE(PEN), CANCELADO(CAN), ANDAMENTO(AND), NA(N/A);
Em relação à lista retornada para, creio eu, o componente <f:selectItems /> do JSF, deveria então ser uma lista de objetos SelectItems:
List<SelectItem> lista;
Passando, respectivamente, id e descriçao dos options pelo construtor do objeto! :-)
GOSTEI 1
Cristiane Freire
03/05/2012
Obrigada pelo exemplo. Eu não estava sabendo como popular a List do enum no bean.
GOSTEI 0