bugfix> javascript > 投稿

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日付をJava java.util.Date に変換する方法 。それをJavaで実装し、そのユーティリティをFreeMarkerに公開するとしましょう。 Alfrescoでそれを行う方法はわかりませんが、FreeMarker自体がそれをサポートしています。その後、 ${myJsUtils.toJava(var.startDate)} のようなことをすることができます 。

    実際、FreeMarkerの ObjectWrapper  機能は、この種の不一致に対処するように設計されています。カスタム ObjectWrapper を使用できる場合 、その後、FreeMarkerはRhynoオブジェクトを自動的に変換する方法を知っているので、魔法のように機能します。しかし、Alfreschoでこのようなコア設定を変更するのは難しいかもしれません。残念なことに、彼ら自身はそうしなかった。

あなたの答え