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

如何编写无输入参数的FreeMarker(FTL)模板函数

是否可以编写无输入参数的FTL函数?

可以,FreeMarker原生支持无参数、无返回值的逻辑块定义,完全可以实现类似Java中void test() {}的效果,有两种常用实现方式:

  • 使用<#function>定义(适配函数写法)
    定义时不填写参数列表即可,不需要返回值的话可以返回空值,示例:
    <#function test>
      <#-- 此处编写函数内部执行逻辑 -->
      <#return>
    </#function>
    
    调用方式:${test()},无返回值的情况下不会向渲染结果输出任何内容。
  • 使用<#macro>定义(更适配无返回值场景)
    如果你的逻辑本身不需要返回值、仅执行副作用操作,用宏指令更符合FTL的设计规范,示例:
    <#macro test>
      <#-- 此处编写宏内部执行逻辑 -->
    </#macro>
    
    调用方式:<@test/>,和FTL内置指令调用写法一致。

官方文档没有单独提及该场景,是因为参数列表本身属于可选声明项,无参数属于默认支持的基础语法,不需要单独做特殊说明。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:18:04