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

如何在Telligent 10平台通过原生Velocity模板语言获取当前时间?

Velocity获取当前时间失效?问题出在这!

嘿,刚好我对这个问题熟得很!我在Stack Overflow上刷过好多相关示例,发现很多人都踩了同一个坑:那些示例里的前两种日期获取方法必须预先定义$date变量,而且大多都是静态硬编码日期,根本不是获取系统当前时间——这就是你写的下面两行代码直接失效的原因:

#set ($today = $date.getCurrentDate()) <span>$today</span>
#set ($today = $date.getDate()) <span>$today</span>

结合Telligent社区的实践经验,要解决这个问题,核心是先正确初始化$date变量,让它指向能获取系统时间的工具实例,而不是让它处于未定义的状态。

给你两个可行的方案:

  • Telligent环境专属方案:利用Telligent内置的Velocity日期工具,先通过上下文获取服务实例,再调用方法拿到当前时间:
    #set ($dateTool = $context.GetService(typeof(Telligent.Evolution.Extensibility.Velocity.VelocityDateTool)))
    #set ($today = $dateTool.Now)
    <span>$today</span>
    
  • 通用Velocity场景方案:确保你的模板上下文已经注册了Apache Commons Lang的DateTool,然后直接调用工具类的方法:
    #set ($today = $dateTool.getCurrentDate())
    <span>$today</span>
    

简单来说,你原来的代码里$date变量根本没被正确初始化,系统不知道它代表什么对象,自然调用不了getCurrentDate()这类方法。必须先让它指向一个合法的日期处理实例,才能动态获取到真实的系统当前时间,而不是用那些示例里的静态假日期。

内容的提问来源于stack exchange,提问作者id.ot

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:51:28