ventajas tutorial ejemplo curso java spring spring-mvc spring-boot thymeleaf

java - tutorial - Thymeleaf: comprueba si se define una variable



thymeleaf vs jsp (3)

Sí, puede verificar fácilmente si existe una propiedad dada para su documento usando el siguiente código. Tenga en cuenta que está creando una etiqueta div si se cumple la condición:

<div th:if="${variable != null}" th:text="Yes, variable exists!">I wonder, if variable exists...</div>

Si quieres usar el campo de la variable , vale la pena verificar si este campo también existe

<div th:if="${variable != null && variable.name != null}" th:text="${variable.name}">I wonder, if variable.name exists...</div>

O incluso más corto, sin usar if

<div th:text="${variable?.name}">I wonder, if variable.name exists...</div>

Pero al usar esta declaración, terminará creando una etiqueta div si la variable o variable.name existen

Puede obtener más información sobre los condicionales en hoja de tomillo aquí

¿Cómo puedo verificar si una variable está definida en Thymeleaf ?

Algo como esto en Javascript:

if (typeof variable !== ''undefined'') { }

o esto en PHP:

if (isset($var)) { }

¿Hay un equivalente en Thymeleaf?


Forma corta:

<div th:if="${currentUser}"> <h3>Name:</h3><h3 th:text="${currentUser.id}"></h3> <h3>Name:</h3><h3 th:text="${currentUser.username}"></h3> </div>


Para saber si el contexto contiene una variable determinada, puede preguntar el mapa de variables de contexto directamente. Esto le permite a uno determinar si la variable se especifica en absoluto, a diferencia de los únicos casos en los que está definida, pero con un valor de nulo.

Thymeleaf 2

Use el método containsKey del objeto #vars :

<div th:if="${#vars.containsKey(''myVariable'')}" th:text="Yes, $myVariable exists!"></div>

Thymeleaf 3

Use el método containsVariable del objeto #ctx :

<div th:if="${#ctx.containsVariable(''myVariable'')}" th:text="Yes, $myVariable exists!"></div>