当我尝试在thymeleaf中使用max函数时,每次都得到OGNL表达式。我甚至不确定我们是否可以在thymeleaf中使用max/min这样的函数。我试着在文档中查找它,但没有找到任何有用的东西。这是我想使用math.max的代码:
<div th:with="maxNumber=${#max(8,12)}">
<p th:text=${maxNumber}></p>
</div>
甚至还试图以这种方式使用它:<div th:with="maxNumber=${max(8,12)}">
,其给出了相同的错误。
3条答案
按热度按时间kknvjkwl1#
正如前面提到的,虽然Thymeleaf中没有内置函数,但可以使用特殊的
T(...)
操作符来调用静态方法(允许在Thymeleaf中使用Java的Math.max(...)
)。liwlm1x92#
我不认为thymeleaf中有这样的函数,但是您可以很容易地实现条件语句来实现相同的目的
使用if/unless也可以实现相同的效果
甚至在thymeleaf中也有开关baeldung.com/spring-thymeleaf-conditionals
如果真的需要的话,你可以在Java中创建一个具有所有必要功能的类,并将该类作为一个变量传递给模型中的Thymeleaf。
yxyvkwin3#
如果您正在为Thymeleaf使用Spring依赖项(我不能这样做,所以我不能直接测试它),看起来实用程序逻辑(本例中的最大数量)可以封装在一个Spring Bean中,以便在Thymeleaf中引用:
https://www.thymeleaf.org/doc/articles/springmvcaccessdata.html#spring-beans
第一个