Я просмотрел все связанные посты, чтобы загрузить свой jqGrid из jsp с помощью вызова json. Но я не могу добиться успеха. Может кто-нибудь сказать, пожалуйста, где я не прав?
JAVASCRIPT CODE
$("#grid").jqGrid({
url:'dhypo/featurelist.jsp',
datatype: 'json',
autowidth: true,
colNames:['ColOne','ColTwo'],
colModel:[{name:'id',index:'id'},
{name:'name',index:'name'}
],
datastr: mygrdata,
rowNum:5,
rowList:[5,7,10],
pager: '#pager',
sortname: 'id',
viewrecords: true,
sortorder: "desc",
multiselect: false,
caption:"JSPJSON",
jsonReader:{
repeatitems: true,
cell: "cell",
id: "id",
root: "rows",
page: function (obj) { return 1; },
total: function (obj) { return 1; },
records: function (obj) { return obj.length; }
}
});
JSP-код
<%@ page language="java" contentType="application/json;" pageEncoding="UTF-8"%>
<%
JSONObject responsedata = new JSONObject();
JSONArray cellarray = new JSONArray();
try{
responsedata.put("total",10);
responsedata.put("page",1);
responsedata.put("records",50);
net.sf.json.JSONObject cellobj=new net.sf.json.JSONObject();
String valaray[] = {"One","Two","Three"};
net.sf.json.JSONArray cell=new net.sf.json.JSONArray();
int cnt = 1;
for(int i=0; i<valaray.length; i++){
cellobj.put("id",cnt);
cell.add(cnt);
cell.add(valaray[i]);
cellobj.put("cell",cell);
cell.clear();
cellarray.add(cellobj);
cnt++;
}//for
responsedata.put("rows",cellarray);
out.println(responsedata);
System.out.println("JSON DATA.."+responsedata);
}catch(Exception exp){
System.out.println("Exception FROM ........"+exp);
responsedata.put("rows",cellarray);
out.println(responsedata);
}
%>
Данные JSON, напечатанные из jsp, являются .....
{ "Всего": 10, "страница": 1, "запись": 50, "строка": [{ "ID": 1, "клетка": [1, "один"]}, { "ID": 2 , "клетка": [2, "Два"]}, { "идентификатор": 3, "клетка": [3, "Три"]}]}
Мой jqgrid не окукливается с данными. Структура таблицы / пейджер отображается.
- Я попытался изменить тип на «jsonstring» и использовать сгенерированные данные jason, это работает, поэтому я думаю, что данные json являются действительными.
Может кто-нибудь помочь мне выяснить, что здесь не так?