java - Cómo tener una condición múltiple en una etiqueta th: if using thymeleaf
thymeleaf if ? (4)
En mi opinión, una solución mejor y más fácil de mantener podría ser escribir el código de evaluación en una clase adecuada.
class Evaluator{
private int value;
....
public boolean isBounded() {
return value < 49 && value > 29;
}
luego en hoja de tomillo, llama a la función:
<p th:if="${evaluator.isBounded()} ...
Algunos beneficios:
- Plantilla más limpia.
- Control en código java.
- Aislamiento. Se pueden escribir evaluaciones más complejas sin cambiar la plantilla.
Espero que esto ayude.
Tengo un texto para representar en tres colores posibles diferentes usando thymeleaf .
Entonces el código que he hecho hasta ahora para probar el valor es:
th:if="${evaluation} > 50"
th:if="${evaluation} < 30"
Y eso funciona bien.
Pero la tercera prueba es para valores entre esos dos. Así que lo intenté:
th:if="(${evaluation} < 49) ∧ (${evaluation} > 29)"
pero no funciona, tengo este error al analizar:
org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: "(${evaluation} < 49) ∧ (${evaluation} > 29)" (/property.html:41)
Por supuesto, estas líneas están entre etiquetas ya que las dos primeras funcionan correctamente.
Tal vez el y operando no es correcto, pero la documentación de thymeleaf no es realmente explícita en esos operandos.
¡Todas las ideas son bienvenidas!
Actualización: recibí la respuesta del foro thymeleaf. La forma de hacerlo es:
th:if="${evaluation < 49 and evaluation > 29}"
¡Problema resuelto!
Esto es lo que funcionó para mí:
th:if="${evaluation lt 49 and evaluation gt 29}"
Hice esto para tener múltiples condiciones en th:if
en thymeleaf
<div
th:if="${object.getStatus()} == ''active'' and ${object.getActiveDate()}"
th:text="${#dates.format(object.getActiveDate(), ''yyyy-MM-dd'')}"
</div>
Agregué el operador y entre las condiciones. También puede agregar o si es necesario.
Recibí la respuesta del foro thymeleaf. La forma de hacerlo es:
th:if="${evaluation < 49 and evaluation > 29}"
Problema resuelto !