th:each en Thymeleaf para recorrer listas

En este post te mostraré a usar th:each en Thymeleaf para iterar o recorrer colecciones, algo así como dibujar una lista o repetir un elemento HTML.

Además de repetir una lista te enseñaré la sintaxis básica de th:each.

Finalmente veremos un ejemplo con Spring Boot para renderizar una lista de productos traída desde un repositorio que a su vez se conecta con MySQL.

Usar th:each en Thymeleaf

Para recorrer una lista, arreglo o ArrayList en Thymeleaf hay que especificar el atributo th:each al elemento que se va a repetir. Por ejemplo:

En el ejemplo de arriba se va a repetir el elemento <li> por cada elemento que haya en lista.

Dibujar tabla usando th:each

También se puede dibujar una tabla con Thymeleaf y th:each como se ve en el siguiente ejemplo:

En este caso hay que repetir el elemento <tr> de la tabla HTML. Dentro de ese elemento tenemos acceso a la variable.

Acceder al índice y tamaño de la lista

Si quieres saber en cuál índice estás o deseas saber el tamaño de la lista, declara una segunda variable que será el iterador de la lista. Así:

Fíjate en la línea 10, en la misma se está declarando una variable que servirá para iterar la lista de productos.

En este caso además de la variable que será cada elemento de la lista tenemos al iterador. El iterador tiene la propiedad index y size.

Ejemplo de th:each con Spring Boot

Ahora que hemos explicado lo más básico sobre th:each en Thymeleaf veremos cómo combinarlo con Spring Boot. En mi caso debo renderizar una lista de productos.

Tengo mi repositorio de productos:

En mi controlador tengo un método que muestra la vista de productos:

Finalmente la vista es la siguiente:

Con el siguiente resultado:

Recorrer lista en Thymeleaf y Spring Boot usando th each

Ejemplo de tabla dibujada con Thymeleaf usando th:each

Conclusión

En conclusión utiliza th:each para repetir elementos o iterar listas, arreglos, ArrayLists, etcétera.

Recuerda que puedes declarar una segunda variable para acceder al iterador y a su vez al índice o al tamaño de la lista.

Aprende más sobre Thymeleaf o Spring Boot en mi página.

th:each en Thymeleaf para recorrer listas

Por parzibyte Tiempo de lectura: 2 min
0