java - Thymeleaf 操作执行连接而不是乘法

标签 java spring-boot math thymeleaf

我在 java 项目中使用 thymeleaf 模板,但在对某些变量执行以下算术运算时注意到一个奇怪的结果:

<div th:with="p=${(a.num != null ? a.num[0] : 1 ) * #list.size(b.items)}">
  <p th:inline="text">[[${p}]] of [[#list.size(b.items)]] items</p>
</div>

给定 a.num == null,并且 b.items 包含 20,我的预期结果是:

20 of 20 items

但目前它显示如下:

11111111111111111111 of 20 items

它似乎将 1 作为字符串读取并将其连接 20 次。我怎样才能让它执行乘法呢?

我不太熟悉 thymeleaf,这是我第一次处理这个项目,所以我不想更改服务层上的值,而只是在 View 层上执行这个简单的乘法。谢谢

最佳答案

两者都必须是数字才能执行乘法。

  • ${'3' * 4} - 结果为 3333
  • ${3 * 4 } - 将得到 12
  • ${#conversions.convert('3', 'java.lang.Integer') * 4} 将得到 12。这里我们正在转换 java.lang.Stringjava.lang.Integer

关于java - Thymeleaf 操作执行连接而不是乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59081224/

相关文章:

php - 如何计算不同时间跨度内总分的百分位排名?

c - Feige Fiat Shamir 计划不起作用

java - 如何将基于Spring Boot 2.0.4构建的项目从mysql5迁移到mysql8?

java - 使用注释创建有条件运行条件运行 hibernate

java - 读取一个巨大的 json 对象数组文件

Java 访问修饰符关键字(私有(private)、默认、 protected 、公共(public)或最终、静态等..)在 Eclipse 中自动隐藏,但在源文件中显示

java - 从 RequestContext 或类似的访问 StreamListener header

javascript - 画出三 Angular 形的高

基于每个连接的 Java Authenticator?

java - 在服务类中调用时服务类不更新数据库