【发布时间】:2014-10-27 13:07:15
【问题描述】:
我在我的应用程序中使用 jqgrid 并尝试调用一个 servlet 以使用 JSON 将数据提取到我的 jqgrid 表中。
包含调用servlet的jqgrid代码的jsp如下:
<script >
$(document)
.ready(function() {
$("#list")
.jqGrid({
url: 'http://localhost:9090/YMSAppointment/GridServlet',
datatype: 'json',
mtype: 'POST',
colNames: ['id', 'firstName',
'lastName', 'city', 'state',
'phoneNumber'
],
colModel: [{
name: 'id',
index: 'id',
width: 100
}, {
name: 'firstName',
index: 'firstName',
width: 150,
editable: true
}, {
name: 'lastName',
index: 'lastName',
width: 150,
editable: true
}, {
name: 'city',
index: 'city',
width: 80,
editable: true
}, {
name: 'state',
index: 'state',
width: 100,
editable: true
}, {
name: 'phoneNumber',
index: 'phoneNumber',
width: 80,
editable: true
}],
pager: '#pager',
rowNum: 10,
rowList: [10, 20, 30],
sortname: 'invid',
sortorder: 'desc',
viewrecords: true,
gridview: true,
caption: 'Data Report',
jsonReader: {
repeatitems: false,
},
editurl: "http://localhost:9090/YMSAppointment/GridServlet"
});
jQuery("#list").jqGrid('navGrid', '#pager', {
edit: true,
add: true,
del: true,
search: true
});
});
servlet 的 post 方法如下:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
GridModel gridModel1 = new GridModel();
gridModel1.setId(1);
gridModel1.setFirstName("PavanKumar");
gridModel1.setLastName("Mantha");
gridModel1.setCity("Hyderabad");
gridModel1.setState("AndhraPradesh");
gridModel1.setPhoneNumber("1234567890");
GridModel gridModel2 = new GridModel();
gridModel2.setId(2);
gridModel2.setFirstName("PavanKumar");
gridModel2.setLastName("Mantha");
gridModel2.setCity("Hyderabad");
gridModel2.setState("AndhraPradesh");
gridModel2.setPhoneNumber("1234567890");
List<GridModel> gridModels = new ArrayList<>();
gridModels.add(gridModel1);
gridModels.add(gridModel2);
try {
JSONArray jsonArray = (JSONArray)JSONSerializer.toJSON(gridModels);
String json = "{'page':1,'total':'2','records':'1','rows':"+jsonArray+"}";
JSONObject jsonObject = (JSONObject)JSONSerializer.toJSON(json);
PrintWriter out = response.getWriter();
out.print(jsonObject.toString());
}
catch(Exception e){
}
}
我无法将数据从 servlet 提取到 jqgrid。 在我创建 JSON 对象的位置出现错误:
JSONArray jsonArray = (JSONArray)JSONSerializer.toJSON(gridModels);
任何人都可以帮助我使其工作或为我提供任何替代方法。
【问题讨论】:
-
为什么你会选择隐瞒发生的错误?
标签: java jquery json servlets jqgrid