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

在AEM HTL中能否使用动态属性名?示例:${class.map['prefix' + item.name]}

在HTL中使用动态属性名的可行性

是的,HTL(HTML Template Language,即Sightly)完全支持你示例中的这种动态属性名/键访问写法:${class.map['prefix' + item.name]}。

具体说明:

  • HTL的表达式语法支持字符串拼接操作,'prefix' + item.name会先计算出完整的键名(比如当item.name的值为"button"时,会生成'prefixbutton')。
  • 对于对象的键访问,HTL支持使用方括号[]来引用动态计算的键,逻辑和JavaScript的对象键访问一致。

注意事项:

  • 确保class.map是合法的可访问对象(比如Java Map、JavaScript对象或HTL支持的其他结构化数据类型)。
  • 确认item.name的值是字符串类型,或能被HTL自动转换为字符串;如果item.name可能为空,建议添加空值兜底,避免生成无效键名:
    ${class.map['prefix' + (item.name ?: '')]}
    
    这样当item.name为null或空时,会拼接空字符串,生成'prefix'作为键名,而非'prefixnull'。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 08:44:55