Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.
Ejercicio Invitados
Hacer una página web para una lista de invitados con 4 secciones. Una para consultar los invitados, otra para dar de alta un nuevo invitado y otra para darlo de baja.La tabla que usaremos tendrá dos campos: nombre (VARCHAR) e ID (INT, AUTOINCREMENT, PK).
Cada uno de los siguientes pantallazos representa una página diferente.
Ejercicio Fútbol
Necesitaremos añadir este código al repository
@Query("SELECT e FROM Equipo e WHERE e.equipo_cod=:id")
Equipo findEquipoByEquipoCod(@Param("id")int id);
Ejercicio hospital
Para evitar que en spring la fecha se guarde correctamente sin poner un día de menos:
SimpleDateFormar fADate = new SimpleDateFormat("yyyy-MM-dd");
fADate.setTimeZone(TimeZone.getTimeZone("PST"));
Ejercicio listado libros
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style>
.migrid {
display: grid;
grid-template-columns: repeat(5, 150px);
}
.migridWrapper {
display: grid;
grid-template-columns: 600px 100px;
}
button {
display: block;
width: 100%
}
</style>
</head>
<body>
<div th:each="libro:${libros}" class="migridWrapper">
<form class="migrid" action="/modificarlibro">
<div th:text="${libro.id}"></div><input type="hidden" name="idNumber" th:value="${libro.id}" />
<input type="text" name="titulo" th:value="${libro.titulo}" />
<input type="text" name="precio" th:value="${libro.precio}" />
<button>Modificar</button><input type="hidden" name="action" value="modificar" />
</form>
<form action="/deletelibro">
<button>Borrar</button>
<input type="hidden" name="idNumber" th:value="${libro.id}" />
<input type="hidden" name="action" value="baja" />
</form>
</div>
<form class="migrid" action="/create-libro">
<div></div>
<input id="action" type="hidden" name="action" value="alta">
<input type="text" name="titulo" placeholder="Título del libro">
<input type="text" name="precio" placeholder="Precio del libro">
<button>Alta</button>
</form>
</body>
</html>
Ejercicio mensajería
Para acceder a la sesión desde el controlador:
@RequestMapping(path = "/createMensajes", method = RequestMethod.GET)
public ModelAndView createMensaje(@ModelAttribute("mensaje")String mensaje,@ModelAttribute("ids[]")String ids[],HttpServletRequest request,ModelMap model) {
HttpSession session = request.getSession();
Enviar y recoger un array de datos al servidor utilizando Spring Boot
<c:forEach var="usuario" items="${usuarios}" varStatus="status">
<li><input name="ids[${status.index}]" type="checkbox" value="${usuario.id}">
<c:out value="${usuario.nombre}" /></li>
</c:forEach>
Arrays.stream(mensaje.getIds()).filter(id -> id!=null).forEach(id->{
//El código que procesa la petición
});
@Entity
public class Mensaje {
...
@Transient
Integer ids[];
request.getParameterValues("ids")
Recoger un array de datos del servidor utilizando SpringBoot
También hubiera sido posible recoger los datos dándoles a todas las checkboxes el mismo name y utilizando en el controlador el método: