Spring MVC 3 JSON:控制器方法的类型返回到jqgrid中的显示列表(json)?

时间:2013-05-28 15:35:22

标签: json spring-mvc jqgrid

我有一个控制器方法将列表作为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)? 感谢;

1 个答案:

答案 0 :(得分:0)

为了使用Spring将数据序列化为JSON,您需要在项目Jackson中配置组件。

http://wiki.fasterxml.com/JacksonDocumentation

如果您对如何配置杰克逊让我知道的组件有任何疑问。