Thymeleaf TEXT模式模板:如何基于变量输出含[]的内容?
解决Thymeleaf TEXT模式下输出
Foo [1]格式内容的问题 没问题,这事儿好办!你遇到的问题核心是Thymeleaf的TEXT模式和HTML模式用的表达式语法不一样——你尝试的Foo [[(${foo})]]是HTML模式里的内联表达式写法,在纯文本模板里不生效。
这里给你两种简单可行的实现方式:
方式一:直接使用TEXT模式的变量表达式
TEXT模式本身就是针对纯文本场景设计的,直接把变量表达式和普通文本写在一起就行,方括号作为普通字符不需要额外处理:
Foo [${foo}]
比如当foo变量的值是1时,渲染后就会输出Foo [1],完全符合你的需求。
方式二:用字符串拼接语法(适合复杂场景)
如果你的文本结构更复杂,也可以用+来拼接字符串片段和变量:
Foo [ + ${foo} + ]
这种写法和第一种效果完全一致,适合需要拆分文本和变量的场景。
最后要确认下你的模板确实是TEXT模式:要么模板文件后缀是.txt,要么在Thymeleaf配置里明确指定了该模板的模式为TEXT,这样Thymeleaf才会用纯文本的解析规则处理这些表达式。
内容的提问来源于stack exchange,提问作者pioto
相关产品推荐
相关产品推荐

