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

如何在Freemarker模板中拼接字符串以获取资源包标签

解决Freemarker模板中拼接字符串作为资源键的问题

你之前的写法错误在于对Freemarker表达式语法的误用,正确的拼接方式应该直接在宏参数中写表达式,不需要额外的${}包裹:

<@spring.messageText "resource.bundle.key" + dataModel.value, "undefined"/>

为什么之前的写法不行:

  • 第一种写法里,${dataModel.value}不需要用${}包裹,因为在宏的参数位置本身就是表达式上下文,直接引用变量名即可。
  • 第二种写法里,${"resource.bundle.key" + ${dataModel.value}}属于嵌套${},这是Freemarker不允许的语法,会导致解析错误。

如果需要更清晰的代码结构,也可以先把拼接后的键赋值给变量,再传入宏:

<#assign resourceKey = "resource.bundle.key" + dataModel.value>
<@spring.messageText resourceKey, "undefined"/>

这种方式可读性更强,也方便后续复用该键值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 20:33:12