Greetings I have the problem I am using spring boot and bootstrap v4 so I want to show a combination that shows me the data in a form but it does not show me I leave the corresponding code and also solve the error that I previously published in this community I also leave the link. How can I solve this problem in Spring boot + JPA + Bootstrap + mysql .
In the controller:
@GetMapping("/lista")
public String direccionLista(Model model) {
model.addAttribute("direcciones",direccionService.direccionLista());
return "direccion/lista";
}
@PostMapping("/agregar")
@PreAuthorize("hasRole('admin')")
public String agregarDireccion(@ModelAttribute("direccion") Direccion direccion,Model model,BindingResult bindingResult)throws IOException {
String mensaje="";
if(direccion.getId()==null ){
mensaje="agregado";
}
if(bindingResult.hasErrors()){
}
else{
mensaje="actualizado";
}
model.addAttribute("mensaje", direccionService.agregarDireccion(direccion).getUsuario().getUsuarioNombre()+"direccion"+mensaje+"direccion agregado...");
return "redirect:/direccion/lista";
}
In the jsp:
<div class="container">
<br>
<button class="btn btn-primary nBtn" >Nuevo</button>
<br>
<br>
<div class="card">
<div class="card-block">
<table class="table table-hover table-bordered">
<thead>
<tr>
<th>Codigo</th>
<th>Ciudad</th>
<th>Distrito</th>
<th>Pais</th>
<th>Usuario</th>
<th>Actualizar</th>
<th>Eliminar</th>
</tr>
</thead>
<tbody>
<c:forEach items="${direcciones}" var="direccion">
<tr>
<td>${direccion.id}</td>
<td>${direccion.ciudad}</td>
<td>${direccion.distrito}</td>
<td>${direccion.pais}</td>
<td>${direccion.usuario.usuarioNombre}</td>
<td><a href="${path}/direccion/actualizar/${direccion.id}" class="btn btn-primary eBtn">Actualizar</a></td>
<td><a href="${path}/direccion/eliminar/${direccion.id}" class="btn btn-danger">Eliminar</a></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
<form:form action="${path}/direccion/lista" method="post" modelAttribute="direcciones" >
<div class="modal fade" id="exampleModal"
tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Actualizar o Guardar</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="form-group">
<label for="id" class="col-form-label">Codigo:</label>
<input type="text" class="form-control" id="id" name="id" value=""/>
</div>
<div class="form-group">
<label for="pais" class="col-form-label">Pais:</label>
<input type="text" class="form-control" id="pais" name="pais" value=""/>
</div>
<div class="form-group">
<label for="ciudad" class="col-form-label">Ciudad:</label>
<input type="text" class="form-control" id="ciudad" name="ciudad" value=""/>
</div>
<div class="form-group">
<label for="distrito" class="col-form-label">Distrito:</label>
<input type="text" class="form-control" id="distrito" name="distrito" value=""/>
</div>
<div class="form-group">
<label for="usuario" class="col-form-label">Usuario:</label>
<select name="usuario.id" id="usuario">
<c:forEach items="${usuarios}" var="usuario" >
<option value="${usuario.id}">${usuario.usuarioNombre}</option>
</c:forEach>
</select>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cerrar</button>
<input type="submit" class="btn btn-primary" value="guardar"/>
</div>
</div>
</div>
</div>
</form:form>
</div>
In the main1 script:
$(document).ready(function(){
$('.nBtn, .table .eBtn').on('click',function(event){
event.preventDefault();
var href=$(this).attr('href');
var text=$(this).text();
if(text=='Actualizar' && document.getElementById("usuario").value != "none"){
var usuario = document.getElementById('usuario').value;
$.get(href,function(direccion,usuario,status){
$('.myForm #id').val(direccion.id);
$('.myForm #ciudad').val(direccion.ciudad);
$('.myForm #distrito').val(direccion.distrito);
$('.myForm #pais').val(direccion.ciudad);
$('.myForm #usuario').val(usuario.nombre);
});
$('.myForm #exampleModal').modal();
}else{
$('.myForm #id').val('');
$('.myForm #ciudad').val('');
$('.myForm #distrito').val('');
$('.myForm #pais').val('');
$('.myForm #usuario').val('');
$('.myForm #exampleModal').modal();
}
});
});