我正在为Alfresco 5.0d CE
开发网页脚本并遇到问题:我无法直接在datetime
模板中插入org.mozilla.javascript.NativeDate
FreeMarker
类型值{或嵌入式FreeMarker方法?date
,?time
或?datetime
)。
$ {var.startDate}
插入
org.mozilla.javascript.NativeDate@< some_hash&GT;
请告诉我,我该怎么做?
答案 0 :(得分: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下更改这样的核心设置可能会很棘手。太糟糕了,他们自己也没做到。