我有一个使用百里香以三种不同颜色渲染的文字。
所以我到目前为止测试该值的代码是:
th:if="${evaluation} > 50"
th:if="${evaluation} < 30"
这很有效。
但第三个测试是针对这两者之间的值。 所以我试过了:
th:if="(${evaluation} < 49) ∧ (${evaluation} > 29)"
但它没有用,我在解析时遇到了这个错误:
org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: "(${evaluation} < 49) ∧ (${evaluation} > 29)" (/property.html:41)
当然,这些行位于标签之间,因为前两个正常工作。
也许这个和操作数不正确,但是对于那些操作数而言,百里香叶的文档并不是很明确。
欢迎所有想法!
更新:我从百万富翁论坛得到了答案。做到这一点的方法是:
th:if="${evaluation < 49 and evaluation > 29}"
问题解决了!
答案 0 :(得分:51)
我从百万富翁论坛得到了答案。做到这一点的方法是:
th:if="${evaluation < 49 and evaluation > 29}"
问题解决了!
答案 1 :(得分:19)
这对我有用:
th:if="${evaluation lt 49 and evaluation gt 29}"
答案 2 :(得分:10)
在我看来,一个更好,更易维护的解决方案可能是在适当的类中编写评估代码。
class Evaluator{
private int value;
....
public boolean isBounded() {
return value < 49 && value > 29;
}
然后在百里香中,调用函数:
<p th:if="${evaluator.isBounded()} ...
一些好处:
我希望这会有所帮助。
答案 3 :(得分:4)
我这样做是为了在百里香叶th:if
中有多个条件
<div
th:if="${object.getStatus()} == 'active' and ${object.getActiveDate()}"
th:text="${#dates.format(object.getActiveDate(), 'yyyy-MM-dd')}"
</div>
我在条件之间添加了和运算符。您还可以根据需要添加或。