我有一个控制器方法,它返回一个 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)?谢谢;