0

リストを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 (my list) とビュー (jsp および jqgrid) を統合するために、メソッドは何を返す必要がありますか?? ありがとう;

4

1 に答える 1

0

Spring を使用してデータを JSON にシリアル化するには、プロジェクト Jackson でコンポーネントを構成する必要があります。

http://wiki.fasterxml.com/JacksonDocumentation

コンポーネント Jackson の設定方法について質問がある場合は、私に知らせてください。

于 2013-05-28T17:31:42.137 に答える