Oi pessoal, estou fazendo usando CRUD com select + enum, cheguei a um ponto que não estou entendo, estou muita duvida na view, usando o thymeleaf, identifiquei que o erro é por conta de não carregar a variavel status. Segue código:
package br.com.academia.util;
public enum EstadoAlunoEnum {
ATIVO("ativo"),
INATIVO("inativo");
private final String status;
EstadoAlunoEnum(String status){
this.status = status;
}
public String getStatus() {
return status;
}
}
@Controller
public class AlunoController {
@Autowired
private AlunoServico servico;
@RequestMapping("/")
public String paginaIncial() {
return "index";
}
@RequestMapping("listar_alunos")
public String listarAlunos(Model model) {
Iterable<Aluno> alunos = servico.obterTodosAlunos();
model.addAttribute("alunos", alunos);
return "listar_alunos";
}
@RequestMapping("incluir_aluno")
public String incluirAluno() {
return "incluir_aluno";
}
@RequestMapping("/salvar")
public String salvar(@RequestParam("nome") String nome,
@RequestParam("telefone") int telefone,
@RequestParam("status") EstadoAlunoEnum status,
@RequestParam("observacoes") String observacoes,
Model model ) {
model.addAttribute("status", status.getStatus());
Aluno aluno = new Aluno(nome, telefone, status, observacoes);
servico.salvar(aluno);
Iterable<Aluno> alunos = servico.obterTodosAlunos();
model.addAttribute("alunos", alunos);
return "redirect:listar_alunos";
}
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Academia xXx</title>
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" />
</head>
<body>
<ul class="nav nav-tabs">
<li class="nav-item"><a class="nav-link active" href="/">Pagina inicial</a></li>
<li class="nav-item"><a class="nav-link" href="#">Sobre nós</a></li>
<li class="nav-item"><a class="nav-link" href="#">Deixe seu comentário</a></li>
</ul>
<div align="center">
<h1>Incluir Aluno</h1>
</div>
<div class="container">
<div>
<div class="jumbotron" align="center" style="margin-top: 50px;">
<form action="/salvar" method="post" >
<div class="form-group" align="left">
<label th:for=nome >Nome completo do aluno</label>
<input type="text" class="form-control" id=nome_aluno name="nome" placeholder="Nome ou apelido" />
</div>
<div class="form-group" align="left">
<label th:for=telefone>Telefone</label>
<input type="number" class="form-control" id=telefone_aluno name="telefone" placeholder="999999999" />
</div>
<div class="form-group" align="left">
<label th:for="status">Status</label>
<select id="status" th:field="*{status}">
<option th:each="status : ${status}"
th:text="${aluno.status.getStatus}"
th:value="${status}">
</option>
</select>
</div>
<div class="form-group" align="left">
<label for="observacoes">Observações</label>
<textarea class="form-control" id="observacoes" rows="3" name="observacoes" placeholder="Escreva aqui">