如何在Thymeleaf的h1标签中插入变量并解决拼接无空格问题
问题原因
你当前的写法存在两点问题:
- Thymeleaf的
th:text属性中,固定字符串字面量需要用单引号包裹,你未给Hello加单引号属于不规范用法,解析时会自动将相邻内容无间隔拼接,丢失了需要的空格。 - 拼接逻辑中没有主动在固定文本和变量之间添加空格字符,最终就会出现
Helloname的异常显示。
修复方案
以下两种写法任选其一即可解决问题:
写法1:单引号包裹字面量+显式加空格
将h1标签的th:text属性修改为如下内容,注意单引号内Hello末尾要保留空格:
<h1 th:text="'Hello ' + ${name}"> </h1>
写法2:使用字面量替换语法(更简洁)
Thymeleaf提供了|包裹的字面量替换语法,不需要额外写加号拼接,逻辑更直观不易出错:
<h1 th:text="|Hello ${name}|"> </h1>
这种写法会自动识别占位符${name}并替换为实际变量值,你写在两个内容中间的空格会被完整保留。
补充说明
如果后续需要拼接多段固定文本和变量,推荐优先使用第二种字面量替换写法,可以避免多个加号、单引号嵌套导致的语法错误。
内容的提问来源于stack exchange,提问作者aquile hollins
相关产品推荐
相关产品推荐

