1

私は本当にここに手を必要としています。過去 2 時間か 3 時間で、javascript でサポートされた webscript を使用して freemarker に JSON オブジェクトを単純にリストしようとしましたが、うまくいきませんでした。

私のスクリプトに x という名前を付けましょう。

x.get.js

function main(){
    //model.data = {'name':'Test Object','size':100};
    model.data={
        "2012": {
            "A": {
                "a": "on",
                "b": "off",
                "list": [
                    1,
                    2,
                    3,
                    4
                ]
            }
        },
        "2013": {
            "B": {
                "c": "on",
                "d": "off"
            }
        }
    };

   logger.log(jsonUtils.toJSONString(model.data));
}

main();

x.get.html.ftl

<#assign keys = data?keys>
<#list keys as tag>
   ${jsonUtils.encodeJSONString(tag)}<#if tag_has_next>,</#if>
</#list>

最初の model.data (コメントアウト) だけを試してみると、正常に動作し、ロガーが完全な JSON を書き出すと、レンダリングされた HTML に「名前、サイズ」が表示されます。

ただし、このようにしようとすると、レンダリングされた HTML に何も表示されず、ロガーは奇妙なことを言います:

 {"2012":"org.mozilla.javascript.UniqueTag@1a31e0a: NOT_FOUND","2013":"org.mozilla.javascript.UniqueTag@1a31e0a: NOT_FOUND"}

だから何?この JSON も有効なので、会話やミステリアスな機能が欠けているのではないでしょうか?

助けてくれてありがとう

J.

4

1 に答える 1

0

通常、js で通常のオブジェクト/値を使用してモデルを埋め、ftl テンプレート x.get.json.ftl で json を生成する必要があります。

于 2013-07-04T09:14:17.487 に答える