【问题标题】:Interpolating org.mozilla.javascript.NativeDate into FreeMarker将 org.mozilla.javascript.NativeDate 插入 FreeMarker
【发布时间】:2018-05-25 06:46:50
【问题描述】:

我正在为 Alfresco 5.0d CE 开发 Web 脚本并遇到问题:我无法在我的 FreeMarker 模板中直接插入 datetime 类型的值 org.mozilla.javascript.NativeDate(或使用嵌入式 FreeMarker 方法 ?date?time?datetime)。

${var.startDate}

插入

org.mozilla.javascript.NativeDate@

请告诉我,我该怎么做?

【问题讨论】:

  • 你是如何在 JS 中创建日期开始的?
  • 我不是自己创建datetime,只是通过Alfresco API从Activity引擎接收它。

标签: javascript alfresco freemarker alfresco-webscripts


【解决方案1】:

您能在 Alfresco 中介绍您自己的 FreeMarker 实用方法吗?因为在那里您可以调用静态org.mozilla.javascript.Context.toType(valueFromRhyno, Date.class) 方法将Rhyno JavaScript 日期转换为Java java.util.Date。因此,假设您在 Java 中实现了它,然后将该实用程序公开给 FreeMarker。我不知道如何在 Alfresco 中做到这一点,但 FreeMarker 本身支持这一点。然后你可以做类似${myJsUtils.toJava(var.startDate)}的事情。

实际上,FreeMarker 的ObjectWrapper 工具旨在处理此类不匹配。如果您可以使用自定义ObjectWrapper,那么它可以神奇地工作,因为这样 FreeMarker 将知道如何自动转换 Rhyno 对象。但我想在 Alfrescho 下更改这样的核心设置可能会很棘手。可惜他们自己没有这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-24
    • 1970-01-01
    • 2011-12-06
    • 2012-03-12
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    • 2018-02-01
    相关资源
    最近更新 更多