Интерполяция org.mozilla.javascript.NativeDate в FreeMarker - PullRequest
0 голосов
/ 25 мая 2018

Я разрабатываю веб-скрипт для Alfresco 5.0d CE и столкнулся с проблемой: я не могу интерполировать datetime значение типа org.mozilla.javascript.NativeDate в моем FreeMarker шаблоне напрямую (или со встроенными методами FreeMarker ?date, ?timeили ?datetime).

$ {var.startDate}

интерполируется в

org.mozilla.javascript.NativeDate @

Пожалуйста, посоветуйте мне, как я могу это сделать?

1 Ответ

0 голосов
/ 25 мая 2018

Можете ли вы представить свои собственные методы утилит FreeMarker в Alfresco?Потому что тогда вы можете вызвать статический метод org.mozilla.javascript.Context.toType(valueFromRhyno, Date.class) для преобразования даты JavaScript Rhyno в Java java.util.Date.Допустим, вы реализовали это в Java, а затем предоставили эту утилиту FreeMarker.Я не знаю, как это сделать в Alfresco, но FreeMarker сам поддерживает это.Затем вы можете сделать что-то вроде ${myJsUtils.toJava(var.startDate)}.

На самом деле, средство ObjectWrapper FreeMarker предназначено для устранения такого рода несоответствий.Если вы можете использовать пользовательский ObjectWrapper, то он может просто работать волшебным образом, так как тогда FreeMarker будет знать, как автоматически преобразовывать объекты Rhyno.Но я думаю, что изменение такой настройки ядра под Alfrescho может быть сложным.Жаль, что они сами этого не сделали.

...