json 解析ajax

          java返回值:
          modelAndView.put("data", data);
            modelAndView.put("keys", new String[]{"id","vessel_name_en","vessel_name_cn","voyage"});
            modelAndView.setViewPath("/ajax/jsonResult.ftl");

          freemarker 的json值:
          [
           <#list data as row>
            {
             <#list keys as key>
              <#if key_index=keys?size-1>
              "${key}":"${row["${key}"]?default("")}"
              <#else>
              "${key}":"${row["${key}"]?default("")}",
              </#if>
             
             </#list>
            }
            <#if row_index!=data?size-1>
            ,
            </#if>
           </#list>
          ]

          jquery的ajax方法:
          $(document).ready(function(){
           
           $("#vessel_name_en").autocomplete('${webroot}/suggest!vessel.do', {
            mustMatch:false ,
            width:300,
            parse: function(data) {
             return $.map(eval(data), function(row) {
              return {
               //固定就得這么寫
               data: row,
               //匹配內容
               value: row.vessel_name_en,
               //最后回填的數據
               result: row.vessel_name_en
              }
             });
            },
            //顯示的內容
            formatItem: function(item) {
             return item.vessel_name_en +" / "+item.vessel_name_cn+" / "+item.voyage;
            }
           }).result(function(event,item){
            $("#shipInfoId").val(item.id);
            $("#vessel_name_cn").val(item.vessel_name_cn);
            $("#voyage").val(item.voyage);
            $("#bill_no").focus();
           });

          <#macro vesselInfo index=index readonly=true>
          <table class="guide" style="width:100%;" id="base_tbl">
           <tr>
            <th>英文船名</th><td><input type="hidden" name="shipInfoId" value="${index.ship_info_id?if_exists}" id="shipInfoId"/><input name="vesselNameEn" id="vessel_name_en" value="${index.vessel_name_en?if_exists}"/></td>
            <th>中文船名</th><td><input name="vesselNameCn" id="vessel_name_cn" value="${index.vessel_name_cn?if_exists}"/></td>
            
            <th>航次</th><td><input name="voyage" id="voyage" value="${index.voyage?if_exists}"/></td>
            
           </tr>
           </table>

          </#macro>



          posted on 2012-05-19 00:36 youngturk 閱讀(413) 評論(0)  編輯  收藏 所屬分類: AjaxJQuery

          <2012年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          公告

          this year :
          1 jQuery
          2 freemarker
          3 框架結構
          4 口語英語

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          EJB學習

          Flex學習

          learn English

          oracle

          spring MVC web service

          SQL

          Struts

          生活保健

          解析文件

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 沙坪坝区| 科技| 横山县| 静海县| 日喀则市| 洛南县| 郓城县| 县级市| 北宁市| 贺州市| 镇雄县| 安多县| 余庆县| 贵南县| 怀安县| 鄂温| 泽库县| 岑巩县| 金沙县| 雅安市| 山东省| 徐汇区| 景东| 乐至县| 虎林市| 龙陵县| 兴国县| 玉屏| 株洲市| 林甸县| 峨眉山市| 宁安市| 临清市| 乌什县| 连云港市| 东平县| 彭州市| 简阳市| 岳普湖县| 怀安县| 深州市|