Tenho o seguinte modal:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<div class="modal fade" id="modal-orientador" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<form id="form-orientador" method="post">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"
aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">Informações do Orientador</h4>
</div>
<div class="modal-body">
<label for="nome">Nome: </label>
<input id="nome" name="nome" class="form-control">
<input id="id" name="id" type="hidden">
<input id="csrf" name="_csrf" type="hidden" value="${_csrf.token}">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
<button id="btn-salvar" type="button" class="btn btn-primary">Salvar Informações</button>
</div>
</form>
</div>
</div>
</div>
Utilizo ele pra salvar e também editar informações e salvar.
Tenho esse método no meu controlador para salvar informações
@RequestMapping(method=RequestMethod.POST)
public String salvarOrientador(
@Valid @ModelAttribute Orientador orientador,
BindingResult bindingResult,
Model model) {
if ( bindingResult.hasErrors() ) {
throw new Exception();
} else {
orientadorRepository.save(orientador);
}
model.addAttribute("orientadores",orientadorRepository.findAll());
return "outros/orientador/tabela-orientadores";
}
E tenho essa função no arquivo js que pega as informações do formulario e manda para o controlador.
$('#btn-salvar').on('click', function(){
var url = 'orientador';
var dadosOrientadores= $('#form-orientador').serialize();
$.post(url, dadosOrientadores)
.done(function(pagina){
$('#secao-orientadores').html(pagina)
aplicarListeners();
})
.fail(function(){
alert('Erro ao salvar!');
})
.always(function(){
$('#modal-orientador').modal('hide');
});
});
Consigo editar e salvar informação existente mas não consigo salvar nova informação. Alguém tem uma ideia do que seja?
Debuguei a aplicação e vi que ele tá mandando o input do tipo hidden com um valor vazio e tá recebendo como uma string no controlador, sendo que ele espera um valor do tipo long.