Я использую jqgrid в своем приложении и пытаюсь вызвать сервлет для извлечения данных в мою таблицу jqgrid usig JSON.Работа с jqgrid и сервлетом
СПЯ, который включает в себя jqgrid код для вызова сервлета выглядит следующим образом:
<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
});
});
И метод пост сервлета выглядит, как показано ниже:
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){
}
}
Я не удалось получить данные из сервлета в jqgrid. ошибка приходит в строке, где я создаю объект JSON:
JSONArray jsonArray = (JSONArray)JSONSerializer.toJSON(gridModels);
Может ли один помочь мне, чтобы сделать его работу или предоставить мне любые альтернативные методы, чтобы сделать это.
Почему вы решили воздержаться от которой происходит ошибка ? –