0

JSP で JSON データを表示しようとしていますが、JSP で初めて JSON データを表示しようとしています。

データベースからデータが取得され、サーブレットに次のコードがあります

        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);
                });
                }
            });

私が抱えている問題は、サーブレットクラスを呼び出しているときに次の例外が発生することです

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)

この問題を解決するにはどうすればよいですか?

4

1 に答える 1