You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Thymeleaf中如何用#strings.equals判断多值?是否可行?

在Thymeleaf中判断字符串是否匹配多个指定值的正确方式

首先明确:#strings.equals()方法仅支持两个单一字符串的比较,无法直接用来匹配多个指定值,你之前的写法存在语法错误,所以无法生效。

你的写法问题所在

你写的${#strings.equals(firstName,['Yann'|| 'James'|| 'Harry'])}有两个关键错误:

  • ['Yann'|| 'James'|| 'Harry']不是合法的Thymeleaf集合/表达式写法,逻辑或||不能用来拼接字符串生成集合;
  • #strings.equals()的第二个参数必须是单个字符串,而非集合或非法表达式。

正确实现方式

推荐三种可行的写法:

1. 使用Thymeleaf原生in表达式(最简洁)

直接判断目标字符串是否在指定的字符串集合中:

${firstName in {'Yann', 'James', 'Harry'}}

2. 用or连接多个#strings.equals()判断

如果需要明确调用#strings.equals(),可以通过逻辑或连接多个独立的比较:

${#strings.equals(firstName, 'Yann') or #strings.equals(firstName, 'James') or #strings.equals(firstName, 'Harry')}

3. 借助SpEL的集合contains方法(适用于Spring环境)

利用Java的Arrays工具类生成集合,再用contains方法判断:

${#lists.contains(T(java.util.Arrays).asList('Yann', 'James', 'Harry'), firstName)}

内容的提问来源于stack exchange,提问作者ABC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 05:50:27