spring - operator - Thymeleaf: muestra el texto si el atributo y la propiedad existen
thymeleaf spring boot (1)
¡Por supuesto! Dado que el procesador asociado con el atributo th:if
tiene una prioridad más alta que el asociado con el atributo th:text
, se evaluará primero. Así puedes escribir:
<span th:if="${error != null && error.summary != null}" th:text="${error.summary}">Static summary</span>
Incluso podrías acortarlo usando:
<span th:text="${error?.summary}">Static summary</span>
Pero creo que en este caso, ya sea que el resumen exista o no, se creará la etiqueta span, que es un poco fea.
Ver más información sobre expresiones condicionales here .
¿Hay una forma sencilla en la hoja de timón para mostrar el contenido de una propiedad de atributo si la propiedad y el atributo existen? Si hay un atributo "error" con una propiedad "resumen" en mi página html, me gustaría mostrarlo:
<span th:text="${error.summary}">error summary</span>
Si no hay ningún atributo "error" se genera el siguiente error:
org.springframework.expression.spel.SpelEvaluationException: EL1007E:(pos 0): Field or property ''summary'' cannot be found on null
Actualmente estoy usando el siguiente enfoque, que parece demasiado complicado.
<span th:if="${error != null and error.summary != null}"><span th:text="${error.summary}">error summary</span></span>
¿Hay una manera más sencilla de lograr eso?