Olá, caros amigos!
Estou conhecendo a framework spring e em um determinado trecho do código uso Bean Validation para ter certeza que um input (descrição) do jsp contem mais de 5 caracteres. Após a confirmação ele gera um novo jsp informando que a descrição foi salva no banco.
O problema é que ao acessar a primeira vez (http://localhost:8081/fj22-tarefas/adicionaTarefa) funciona normalmente, dou submit e a requisição segue o fluxo normal. No entanto, ao acessar novamente a mesma url, não abrem mais o formulário e vai direto para a pagina informando que a descrição já foi salva.
Controlador
@Controller
public class TarefasController {
@RequestMapping("adicionaTarefa")
public String adiciona(@Valid Tarefa tarefa, BindingResult result) {
if (result.hasFieldErrors()) {
return "tarefa/formulario";
}
dao.adicionaTarefa(tarefa);
return "tarefa/adicionada";
}
}
Formulário JSP
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>Adicionar tarefas</h3>
<form action="adicionaTarefa" method="post">
Descrição: <br />
<textarea name="descricao" rows="5" cols="100"></textarea>
<form:errors path="tarefa.descricao"/>
<br /> <input type="submit" value="Adicionar">
</form>
</body>
</html>
Usei um print e percebi que só em acessar a url, sem dar submit ele já executa a action e passa pelo if.
Poderiam me ajudar?