我真的需要一只手。在过去的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中什么都没有,而logger说的很奇怪:
{"2012":"org.mozilla.javascript.UniqueTag@1a31e0a: NOT_FOUND","2013":"org.mozilla.javascript.UniqueTag@1a31e0a: NOT_FOUND"}
那又怎样?这个JSON也是有效的,所以我想念一些对话或神秘的功能还是什么?
感谢您的帮助
学家
答案 0 :(得分:0)
通常你应该使用js中的普通对象/值来填充模型,并在你的ftl模板中生成json x.get.json.ftl