Estou seguindo a aula 3 de Spring MVC I, e me deparei com o uso de "enum" para o tipo de preço no exemplo exposto, o caso é que eu estou fazendo o curso e migrando um sistema que eu já fiz usando outras tecnologias, enfim, meu objetivo é diferente do exemplo, mas vi muita similaridade, só me falta perceber como eu posso fazer para que a minha enumeração seja útil para um registro de ausência, os tipo são:
package br.gov.df.sinesp.sca.model;
public enum Tipo {
FERIAS("Férias"),
ABONO("Abono"),
ATESTADO("Atestado"),
TREINAMENTO("Treinamento"),
SEMINARIO("Seminário"),
RECESSO("Recesso");
public String rotulo;
Tipo(String nome) {
rotulo = nome;
}
public String getRotulo() {
return rotulo;
}
}
Esse é o meu enum, blz... agora eu tenho a classe de registro com persistência no banco, igual ao curso aí:
package br.gov.df.sinesp.sca.model;
import java.sql.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Registro {
@Id @GeneratedValue (strategy=GenerationType.IDENTITY)
private int id;
private String nome;
private Date inicio;
private Date fim;
private String numeroSei;
private Tipo tipo;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Tipo getTipo() {
return tipo;
}
public void setTipo(Tipo tipo) {
this.tipo = tipo;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Date getInicio() {
return inicio;
}
public void setInicio(Date inicio) {
this.inicio = inicio;
}
public Date getFim() {
return fim;
}
public void setFim(Date fim) {
this.fim = fim;
}
public String getNumeroSei() {
return numeroSei;
}
public void setNumeroSei(String numeroSei) {
this.numeroSei = numeroSei;
}
@Override
public String toString() {
return "Registro [id=" + id + ", nome=" + nome + ", tipo=" + tipo + ", inicio=" + inicio + ", fim=" + fim
+ ", numeroSei=" + numeroSei + "]";
}
}
O objetivo é, tenho tipos limitados (enum) quero carregar um combo na .jsp e guardar o tipo, pode ser o id do tipo ou o nome do enum mesmo, sei que do jeito que está aí não funciona, mas estou justamente pensado como fazer e nas pesquisas que fiz ainda não encontrei um jeito, espero que me ajudem. Segue o arquivo .jsp também, ainda não inseri o tipo em um "selectOneMenu", não sei onde puxar já que normalmente eu uso isso com primeFaces, mas nesse projeto eu não estou utilizando
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css"
integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp"
crossorigin="anonymous">
<!-- Latest compiled and minified JavaScript -->
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
crossorigin="anonymous"></script>
<title>Página Inicial da Aplicação</title>
</head>
<body>
<form action="/SCA/ausencia" method="POST">
<div class="panel panel-default">
<div class="panel-heading">Registro de ausência</div>
<div class="panel-body">
<div>
<label>Nome</label> <input type="text" name="nome">
</div>
<!-- http://www.guj.com.br/t/enum-e-selectonemenu/202020/2 -->
<div>
<label>Tipo</label> <input type="text" name="tipo">
</div>
<div>
<label>Início</label> <input type="date" name="inicio">
</div>
<div>
<label>Fim</label> <input type="date" name="fim">
</div>
<div>
<label>Número SEI</label> <input type="text" name="numeroSei">
</div>
</div>
<button type="submit">Registrar</button>
</div>
</form>
<div class="container-fluid">
<div class="row">
<div class="col-md-12 text-center">
<a class="btn btn-success">Sucesso</a> <a class="btn btn-warning">Alerta</a>
<a class="btn btn-danger">Perigo</a>
</div>
</div>
</div>
</body>
</html>