Cómo crear una app web internacionalizada con Thymeleaf
Aprende cómo poder realizar la internacionalización de una aplicación web utilizando Thymeleaf, gracias a este video, que te mostrará el proceso de...
Te contamos qué es Thymeleaf para que conozcas esta nueva tecnología y cómo funciona este motor de plantillas. Thymeleaf nospermite definir una plantilla conjuntamente con un modelo de datos.
Tabla de contenidos
Thymeleaf es un motor de plantillas, es decir, es una tecnología que nos va a permitir definir una plantilla y, conjuntamente con un modelo de datos, obtener un nuevo documento, sobre todo en entornos web.
Permite realizar tareas que se conocen como natural templating. Es decir, como está basada en añadir atributos y etiquetas, sobre todo HTML, va a permitir que nuestras plantillas se puedan renderizar en local, y esa misma plantilla después utilizarla también para que sea procesada dentro del motor de plantillas. Por lo cual las tareas de diseño y programación se pueden llevar conjuntamente.
Es integrable con muchos de los frameworks más utilizados, como por ejemplo Spring MVC, Play, Java EE... Y está basado en el uso de nuevas etiquetas, de nuevos atributos.
Permite trabajar con varios tipos de expresiones:
${…}
*{…}
#{…}
@{…}
~{…}
Por defecto, cuando se trabaja con Thymeleaf se suele hacer con el lenguaje de expresiones OGNL (Object-Graph Navigation Language), aunque cuando trabajamos conjuntamente con Spring MVC podemos utilizar el SpEL (Spring Expression Language).
Algunos ejemplos de expresiones variables son:
${sesión.usuario.nombre}
=> Podemos usar la notación de puntos para acceder a las propiedades de un objeto.<span th:text=”${libro.autor.nombre}”>
=> Uno de los atributos que podemos usar es th:text con diferentes etiquetas HTML, para poder mostrar, por ejemplo, el nombre del autor de un libro. También podemos navegar entre objetos.<p th:text=”${#numbers.formatCurrency(5)}”>
=> Algunas expresiones vienen ya predefinidas, como la función formatCurrency, que nos va a permitir formatear un numero como una moneda y le va a añadir la moneda del sistema por defecto.<td th:text=”${myObject.myMethod()}”>
=> También podemos llamar a métodos definidos en nuestros propios objetos, lo vamos a poder hacer desde las plantillas.Las expresiones de selección nos permiten marcar un objeto y sobre el mismo evaluar algunas expresiones.
Por ejemplo, si queremos listar todas las propiedades de un libro, en lugar de usar expresiones variables, podemos prefijar el objeto book e ir después utilizando cada una de las propiedades del mismo de una manera más sencilla:
<div th:object=${book}”>
…
<span th:text=”*{title}”>…</span>
…
</div>
Sirven para construir URLs que podemos utilizar en cualquier tipo de contexto.
Podríamos utilizarlas para hacer enlaces para URLs que sean absolutas o relativas al propio contexto de la aplicación, al servidor, al documento, etc.
Estos son unos ejemplos:
<a th:href=”@{/order/list}”>…</a>
<a href=”{/myapp/order/list}”>…</a>
<a th:href=”@{order/details(id=${orderld}}”>…</a>
<a ahref=”{myapp/order/details?id=23”>…</a>
<a th:href=”@{…/documents/report}”>…</a>
<a th:href=”@{~/contenidos/index}”>…</a>
<a th:href=”@{http://www.micom.es/index}”>…</a>
Podemos utilizar expresiones literales, como son habituales en otros lenguajes de programación:
Podemos utilizar los operadores más habituales, como son:
Los atributos básicos más conocidos con los que nos podemos encontrar son:
th:text
: Permite reemplazar el texto de la etiqueta por el valor de la expresión que le demos.
<p th:text=”${saludo}>saludo</p>
th:each
:Nos va a permitir repetir tantas veces como se indique o iterar sobre los elementos de una colección.
<li th:each=”libro : ${libros}”
th:text=”${libro.titulo}”>El Quijote</li>
th:class
:Permite modificar las clases de un elemento de forma que podríamos modular el CSS de ese elemento HTML.
<p th:class=”${row.even}? ’even’: ’odd’”></p>
También te puede interesar
Aprende cómo poder realizar la internacionalización de una aplicación web utilizando Thymeleaf, gracias a este video, que te mostrará el proceso de...
Completa tu formación previa con el curso de Thymeleaf intermedio y serás capaz de aprovechar todas las posibilidades...
Aprende a usar Thymeleaf, el mejor motor de plantillas para utilizar junto a Spring y empieza a disfrutar...