太奇葩了!Thymeleaf 竟然无法解析连续四个下划线!

太奇葩了!Thymeleaf 竟然无法解析连续四个下划线!

真的很无语!项目中有个场景需要判断参数是否等于____四个下划线组成的字符串,当我写成下面这种标准的字符串相等判断形式:

paramResult eq '____'

它直接报错,错误信息如下:

Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: ""

什么玩意呀!我确定写的没问题呀,无奈之下想着换一种方式实现相等的判断逻辑,后面使用了Thymeleaf提供的能够判断字符串相等的两个工具类,如下:

#strings.contains(paramResult,'____')
#strings.equals(paramResult, ____)

都不行,报同样的错误,把我整崩溃了~

后面尝试了用转义的方式来判断:

paramResult eq '\_\_\_\_'

可以了。

后面查了下原因,百度提供的GPT给出的答案如下:说____是Thymeleaf的保留字,好吧,反正我从其他渠道没查到。最后,如果有想快速建设企业或者博客网站的,不妨关注下我们的diy自助建站平台,基于Java语言SpringBoot框架实现的建站系统,有更高的安全性、稳定性以及超高性能,而且价格优惠,百元建站,万元品质保障!如果有高端响应式(Bootstrap、TailwindCSS)建站网站模板或者各类建站素材的需求也可以关注我们的资源频道。

太奇葩了!Thymeleaf 竟然无法解析连续四个下划线!