从servlet到jqGrid的JSON数据不显示 [英] JSON data from servlet to jqGrid not displaying
本文介绍了从servlet到jqGrid的JSON数据不显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是jQuery的新手,并且发现在我的jsp中将数据从我的servlet显示到jqGrid很困难。
我用google gson将数据从ArrayList转换为String变量json。
当我运行项目并显示一个空网格时,它在控制台中显示json数据。
I am new to jQuery and finding difficulty in displaying data from my servlet to jqGrid in my jsp. I have used google gson to convert data from ArrayList to a String variable json. It's displaying json data in the console when I run the project and displaying an empty grid.
Student.java
Student.java
package com
public class Student {
private String name;
private String mark;
private String address;
//getter and setters
StudentDataService.java
StudentDataService.java
package com;
import java.util.ArrayList;
import java.util.List;
import com.Student;
public class StudentDataService {
public static List<Student> getStudentList() {
List<Student> listOfStudent = new ArrayList<Student>();
Student aStudent = new Student();
for (int i = 1; i <= 10; i++) {
aStudent = new Student();
aStudent.setName("R" + i);
aStudent.setMark("20" + i);
aStudent.setAddress("pune "+i);
listOfStudent.add(aStudent);
}
return listOfStudent;
}
}
我的servlet代码:
My servlet code:
StudentDataServlet.java
StudentDataServlet.java
package com;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.Student;
import com.StudentDataService;
/**
* Servlet implementation class StudentDataServlet
*/
public class StudentDataServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public StudentDataServlet() {
super();
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
List<Student> lisOfStudent = StudentDataService.getStudentList();
Gson gson = new GsonBuilder().setPrettyPrinting().create();
String json = gson.toJson(lisOfStudent);
out.print(json);
System.out.println(json);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
我的JSP页面:
slickGridDemo.jsp
slickGridDemo.jsp
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>jqGrid Example</title>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.6.2.js'></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/
libs/jqueryui/1.8.14/jquery-ui.js">
</script>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/base/jquery-ui.css">
<link rel="stylesheet" type="text/css" href="http://trirand.com/blog/jqgrid/themes/ui.jqgrid.css">
<script type='text/javascript' src="http://trirand.com/blog/jqgrid/js/i18n/grid.locale- en.js"></script>
<script type='text/javascript' src="http://trirand.com/blog/jqgrid/js/jquery.jqGrid.min.js"></script>
<style type='text/css'>
</style>
<script type='text/javascript'>
jQuery(document).ready(function () {
jQuery("#grid").jqGrid({
url: "http://localhost:9080/JquerySlickGrid/StudentDataServlet",
datatype: "json",
jsonReader: {repeatitems: false, id: "ref"},
colNames:['Name','Marks', 'Address'],
colModel:[
{name:'Name',index:'Name', width:100},
{name:'Marks',index:'Marks', width:100},
{name:'Address',index:'Address', width:500}
],
rowNum:20,
rowList:[20,60,100],
height:460,
pager: "#pagingDiv",
viewrecords: true,
caption: "Json Example"
});
});
</script>
</head>
<body>
<table id="grid"></table>
<div id="pagingDiv"></div>
</body>
</html>
推荐答案
更改 colModel 名称和索引与pojo类变量名称相同。
谢谢,
Amit Kumar
Thanks , Amit Kumar
这篇关于从servlet到jqGrid的JSON数据不显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文