Alfresco 5.0d CE
用のWebスクリプトを開発しています問題が発生しました:
datetime
を補間できませんタイプ
org.mozilla.javascript.NativeDate
の値私の
FreeMarker
で直接テンプレート(または埋め込みのFreeMarkerメソッド
?date
を使用)
、
?time
または
?datetime
)。
${var.startDate}
に補間する
org.mozilla.javascript.NativeDate@<some_hash>
アドバイスしてください、どうすればいいですか?
回答 1 件
Alfrescoで独自のFreeMarkerユーティリティメソッドを紹介できますか?そこから静的
org.mozilla.javascript.Context.toType(valueFromRhyno, Date.class)
を呼び出すことができるので Rhyno JavaScript日付をJavajava.util.Date
に変換する方法 。それをJavaで実装し、そのユーティリティをFreeMarkerに公開するとしましょう。 Alfrescoでそれを行う方法はわかりませんが、FreeMarker自体がそれをサポートしています。その後、${myJsUtils.toJava(var.startDate)}
のようなことをすることができます 。実際、FreeMarkerの
ObjectWrapper
機能は、この種の不一致に対処するように設計されています。カスタムObjectWrapper
を使用できる場合 、その後、FreeMarkerはRhynoオブジェクトを自動的に変換する方法を知っているので、魔法のように機能します。しかし、Alfreschoでこのようなコア設定を変更するのは難しいかもしれません。残念なことに、彼ら自身はそうしなかった。