0% encontró este documento útil (0 votos)
99 vistas4 páginas

Spring Boot Integrar Jpa MVC

Este documento describe cómo configurar directorios adicionales para recursos estáticos en Spring Boot y cómo implementar paginación en los resultados de búsqueda utilizando Spring Data JPA. Explica cómo mapear URLs a otros directorios de recursos y cómo sobrecargar el método findAll con un parámetro Pageable para devolver resultados paginados, incluidos enlaces de paginación en las vistas.

Cargado por

Miki
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
99 vistas4 páginas

Spring Boot Integrar Jpa MVC

Este documento describe cómo configurar directorios adicionales para recursos estáticos en Spring Boot y cómo implementar paginación en los resultados de búsqueda utilizando Spring Data JPA. Explica cómo mapear URLs a otros directorios de recursos y cómo sobrecargar el método findAll con un parámetro Pageable para devolver resultados paginados, incluidos enlaces de paginación en las vistas.

Cargado por

Miki
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Integración de

Spring MVC y Spring Data JPA


Configurar directorios de recursos estáticos adicionales
Por defecto en un proyecto de Spring Boot con Thymeleaf los recursos estáticos (css,
javascript, images) están configurados en el directorio:
 src/main/resources/static
¿Qué pasa si necesitamos mapear recursos estáticos de otros directorios adicionales?

@Configuration
public class WebConfig implements WebMvcConfigurer{
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//[Link]("/logos/**").addResourceLocations("file:/empleos/img-vacantes/"); // Linux
[Link]("/logos/**").addResourceLocations("fil[Link]/empleos/img-vacantes/"); // Windows
}
}

Mapping URL Obligatorio el prefijo file:


Si tenemos por ejemplo la imagen “[Link]” en el
directorio c:/empleos/img-vacantes/ podríamos
llamar la imagen con la siguiente URL:

[Link]
Integración de paginación
El método findAll, esta sobrecargado con un parámetro de tipo Pageable. Ejemplo:
Clase de servicio
@Override
public Page<Vacante> buscarTodas(Pageable page) {
return [Link](page);
}
Controller
@GetMapping(value = "/indexPaginate")
public String mostrarIndexPaginado(Model model, Pageable page) {
Page<Vacante> lista = [Link](page);
[Link]("vacantes", lista);
return "vacantes/listVacantes";
}

Vista (links de paginación)


<table> . . . </table>

<nav th:if="${[Link] > 0}" aria-label="Page navigation example" >


<ul class="pagination">
<li class="page-item"><a th:href="@{/vacantes/indexPaginate(page=${[Link] - 1})}" class="page-link">Anterior</a></li>
<li class="page-item"><a th:href="@{/vacantes/indexPaginate(page=${[Link] + 1})}" class="page-link">Siguiente</a></li>
</ul>
</nav>

Propiedad para especificar el tamaño de la página ([Link])


[Link]-page-size=5
Resultado Final – Listado de Vacantes con paginación

NOTA: No olvides actualizar el link del menú ([Link]) para acceder al listado de vacantes. Ahora en el link debería ser:

<a class="nav-link" th:href="@{/vacantes/indexPaginate}">Vacantes</a>

También podría gustarte