html 如何在thymeleaf中使用math.max求最大数?

rqmkfv5c  于 2022-12-09  发布在  其他
关注(0)|答案(3)|浏览(258)

当我尝试在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)}">,其给出了相同的错误。

kknvjkwl

kknvjkwl1#

正如前面提到的,虽然Thymeleaf中没有内置函数,但可以使用特殊的T(...)操作符来调用静态方法(允许在Thymeleaf中使用Java的Math.max(...))。

<div th:with="maxNumber=${T(java.lang.Math).max(8,12)}">
  <p th:text=${maxNumber}></p>
</div>
liwlm1x9

liwlm1x92#

我不认为thymeleaf中有这样的函数,但是您可以很容易地实现条件语句来实现相同的目的

<p th:text="8 > 12 ? 8 : 12"></p>

使用if/unless也可以实现相同的效果

<p th:if = "${foo} > ${bar}" th:text = ${foo}></p>
<p th:if = "${foo} > ${bar}" th:text = ${bar}></p>

甚至在thymeleaf中也有开关baeldung.com/spring-thymeleaf-conditionals
如果真的需要的话,你可以在Java中创建一个具有所有必要功能的类,并将该类作为一个变量传递给模型中的Thymeleaf。

yxyvkwin

yxyvkwin3#

如果您正在为Thymeleaf使用Spring依赖项(我不能这样做,所以我不能直接测试它),看起来实用程序逻辑(本例中的最大数量)可以封装在一个Spring Bean中,以便在Thymeleaf中引用:
https://www.thymeleaf.org/doc/articles/springmvcaccessdata.html#spring-beans
第一个

相关问题