Popular SelectOneMenu JSF, com uma classe Enum
03/05/2012
0
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
Curtir tópico
+ 0
Responder
Post mais votado
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
Davi Costa
Responder
Mais Posts
13/05/2012
Diogo Souza
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! :-)
Responder
03/01/2016
Cristiane Freire
Obrigada pelo exemplo. Eu não estava sabendo como popular a List do enum no bean.
Responder
Clique aqui para fazer login e interagir na Comunidade :)