2013-05-28 49 views
0

我有一個控制器方法,返回一個列表爲Json,我想在網格中顯示這個數據,所以我使用jqgrid,但是當我執行時,我在瀏覽器中有一個json格式(名稱/值),沒有網格。 後續是我的控制器方法:Spring MVC 3 JSON:控制器類型的方法返回jqgrid中的顯示列表(json)?

@RequestMapping(value = "/getGridChequeRecu", method = RequestMethod.POST) 
public @ResponseBody CustomChequeResponse getAll(HttpServletRequest request) { 
    logger.debug("return grid liste cheques reçus"); 
    String rio = request.getParameter("rio"); 
    String refop = request.getParameter("refop"); 
    String numcheque = request.getParameter("numcheque"); 

    Cheque c = new Cheque(); 
    c.setRIOOPE(rio); 
    c.setRefOPE(refop); 

    List<Cheque> list = chequeservices.rechercheChequeReçu(c); 

    CustomChequeResponse response = new CustomChequeResponse(); 
    response.setRows(list); 
    response.setRecords(String.valueOf(list.size())); 
    response.setPage("1"); 
    response.setTotal("10"); 

    return response; 
} 

和的jqGrid(.JSP)

<script type="text/javascript"> 
    jq(function() {  

     jq("#grid") 
       .jqGrid(
         { 
          url : "/getGridChequeRecu", 
          datatype : 'json', 
          mtype : 'GET', 
          prmNames : { 
           id : "id" 
          }, 

          colNames : [ 'Id', 'numchequ', 'rio', 'ref'], 
          colModel : [ 
            { 
             name : 'id', 
             index : 'id', 
             width : 55, 
             editable : false, 
             editoptions : { 
              readonly : true, 
              size : 10 
             }, 
             hidden : true 
            }, 
            { 
             name : 'NCheque', 
             index : 'NCheque', 
             width : 55, 
             editable : true, 
             editoptions : { 
              readonly : true, 
              size : 10 
             }, 

             key : true 
            }, 
            { 
             name : 'RIOOPE', 
             index : 'RIOOPE', 
             width : 100, 
             editable : true, 
             editrules : { 
              required : true 
             }, 
             editoptions : { 
              size : 10 
             } 
            }, 
            { 
             name : 'refOPE', 
             index : 'refOPE', 
             width : 100, 
             editable : true, 
             editrules : { 
              required : true 
             }, 
             editoptions : { 
              size : 10 
             } 
            }, 


          ], 
          postData : {}, 
          rowNum : 10, 
          rowList : [ 10, 20, 40, 60 ], 
          height : 100, 
          autowidth : true, 
          rownumbers : true, 
          pager : '#pager', 
          sortname : 'id', 
          viewrecords : true, 
          sortorder : "asc", 
          caption : "Chèques Reçus", 
          emptyrecords : "Empty records", 
          loadonce : true, 

          jsonReader : { 
           root : "rows", 
           page : "page", 
           total : "total", 
           records : "records", 
           repeatitems : false, 
           cell : "cell", 
           id : "idUser", 
           repeatitems : false 
          } 
         }); 
     jq("#grid").jqGrid('navGrid', '#pager', { 
      edit : false, 
      add : false, 
      del : false, 
      search : true 
     }, {}, {}, {}, { 
      sopt : [ 'eq', 'ne', 'lt', 'gt', 'cn', 'bw', 'ew' ], 
      closeOnEscape : true, 
      multipleSearch : true, 
      closeAfterSearch : true 
     }); 

     jq("#btnFilter").click(function() { 
      jq("#grid").jqGrid('searchGrid', { 
       multipleSearch : false, 
       sopt : [ 'eq' ] 
      }); 
     }); 



    }); 
</script> 

應該什麼方法返回集成JSON(我的列表)和視圖(JSP和jqGrid的)? 謝謝;

回答

0

爲了使用Spring將數據序列化爲JSON,您需要在項目Jackson中配置組件。

http://wiki.fasterxml.com/JacksonDocumentation

如果您有關於如何配置組件傑克遜讓我知道的任何問題。

+0

感謝您的回覆,我成功獲取了json格式的列表,但我無法將其插入到我想要顯示的網格中。 – RaisMEd

+0

我已經添加了spring-json1.3.1.jar,可以告訴我有關org.springframework.web.view.json.JsonView的配置,因爲當我自動裝入它時@autowired – RaisMEd

相關問題