我正在尝试在 JSP 中显示 JSON 数据,并且我第一次尝试在 JSP 中显示 JSON 数据。
数据是从数据库中获取的,我在 Servlet 中有以下代码
Gson gson = new Gson();
List<Employee> employee = myDAO.getEmpDetails("SMITH");
JsonElement element =
gson.toJsonTree(employee, new TypeToken<List<Employee>>() {
}.getType());
JsonArray jsonArray = element.getAsJsonArray();
response.setContentType("application/json");
response.getWriter().print(jsonArray);
在 JSP 中我称之为
$.get('myservlet',function(responseJson) {
if(responseJson!=null){
$("#empTable").find("tr:gt(0)").remove();
var table1 = $("#empTable");
$.each(responseJson, function(key,value) {
var rowNew = $("<tr><td></td><td></td><td></td><td></td><td></td><td></td></tr>");
rowNew.children().eq(0).text(value['empNo']);
rowNew.children().eq(1).text(value['empName']);
rowNew.children().eq(2).text(value['empAddress']);
rowNew.appendTo(table1);
});
}
});
我遇到的问题是当我调用我的 servlet 类时,我得到了以下异常
java.lang.RuntimeException: Missing type parameter.
at com.google.gson.reflect.TypeToken.getSuperclassTypeParameter(TypeToken.java:84)
at com.google.gson.reflect.TypeToken.<init>(TypeToken.java:61)
at test.net.MyService$1.<init>(MyService.java)
at test.net.MyService.doPost(MyService.java:101)
at test.net.MyService.doGet(MyService.java:47)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
我该如何解决这个问题?