Enum na JSP vraptor

3 respostas
doravan
Companheiros, gostaria de imprimir uma lista Enum na jsp. Tentei fazer o seguinte:
@Component
public enum Uf {
	
	AC ("Acre"),
	AL ("Alagoas"),
	AM ("Amazonas"),
	AP ("Amapá"),
	BA ("Bahia"),
	CE ("Ceará"),
	DF ("Distrito Federal"),
	ES ("Espirito Santo"),
	GO ("Goiás"),
	MA ("Maranhão"),
	MG ("Minas Gerais"),
	MS ("Mato Grosso do Sul"),
	MT ("Mato Grosso"),
	PA ("Pará"),
	PB ("Paraíba"),
	PE ("Pernambuco"),
	PI ("Piauí"),
	PR ("Paraná"),
	RJ ("Rio de Janeiro"),
	RN ("Rio Grande do Norte"),
	RO ("Rondônia"),
	RR ("Roraima"),
	RS ("Rio Grande do Sul"),
	SC ("Santa Catarina"),
	SE ("Sergipe"),
	SP ("São Paulo"),
	TO ("Tocantins");

	private final String nome;
	
	
	Uf (String nome){
		this.nome = nome;
	}
	
	public String getNome(){
		return nome;
	}
	
}
<c:forEach items="${uf}" var="uf">
	${uf.uf} - ${uf.nome}
</c:forEach>

mas não aparece nada.
O que fazer?

3 Respostas

Lucas_Cavalcanti

pra isso funcionar vc deveria dar um result.include(“ufs”, Uf.values()); no construtor e na jsp fazer:

<c:forEach items="${ufs}" var="uf">  
    ${uf} - ${uf.nome}  
</c:forEach>
doravan

Essa solução eu consegui, mas tem um porém…

Vc percebeu que tentei anotar meu enum como @Component?

Eu queria que ele estivesse disponível para toda a aplicação, sem necessidade de iniciar um result.include em cada JSP que eu quiser chamar.

Lucas_Cavalcanti

enum com @Component não vai funcionar, pq enum é um tipo “primitivo”…

vc vai precisar de uma classe encapsulando isso, infelizmente, se quiser disponibilizar pra todo mundo na jsp

Criado 3 de dezembro de 2010
Ultima resposta 6 de dez. de 2010
Respostas 3
Participantes 2