2012-07-18 15 views
1

我真的需要一隻手在這裏。在過去的2到3個小時裏,我試圖用一個javascript支持的web腳本在freemarker中列出一個JSON對象,但沒有運氣。Spring surf javascript支持的webscript和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中獲得「name,size」。

然而,當我嘗試這樣的,我什麼也沒得到在渲染HTML,並記錄儀說,奇怪的事情:

{"2012":"[email protected]: NOT_FOUND","2013":"[email protected]: NOT_FOUND"} 

還等什麼?這個JSON也是有效的,所以我想念一些談話或神祕的功能或什麼?

感謝您的幫助

J.

+1

好吧產生的JSON ,我解決了它!記錄器還記錄奇怪的事情以下JSON: 'model.data = { '123': '測試對象', '尺寸':100};' 恰好: '{ 「123」:「有機.mozilla.javascript.UniqueTag @ 1a31e0a:NOT_FOUND「,'size':100}' 當控制器腳本執行時,如果在字符串中有一個小數(你期望被解釋爲一個字符串,因爲這是一個有效的json!),如「123」,它將被解析爲小數!我不知道爲什麼。我正在尋找答案。 **所以在使用web腳本時,不要在字符串文字中使用整數,因爲JSON標識符**。 – 2012-07-18 20:32:14

回答

0

通常你應該使用JS對象nornmal /值填入你的模型,並在您的FTL模板x.get.json.ftl