2010-05-03 77 views
2

我得到的结果是json格式,我需要以表格格式显示我的结果,从html获取输入,执行它的servlet程序,sparql查询以Json格式显示结果,可以有人帮我以表格格式显示结果吗?需要表格格式的Json结果

response.setContentType("json-comment-filtered"); 
response.setHeader("Cache-Control","nocache"); 

OutputStream out = response.getOutputStream(); 
// ResultSetFormatter.outputAsXML(out, results); 
System.out.println("called"); 
out.flush(); 
JSONOutput jOut = new JSONOutput(); 
jOut.format(out, results); 

一旦查询被执行,这组代码被执行和结果显示在JSON格式,因此任何人可以帮助我出去的方式,我可以在表格格式的结果。

+0

你能展示你的Json的结构吗?我假设你正在取回一个“数组”的对象? – Tejs 2010-05-03 14:51:24

回答

9

您的实际问题是您不知道如何在客户端处理JSON字符串。我强烈建议使用jQuery,因为这可以简化DOM操作。我建议通过their tutorials或去获得decent book关于这个问题。

对于jQuery的+ JSON + Servlet的+ HTML表格结构,我已经发布了类似的答案herehere与代码示例之前如何填充的Google Gson帮助和一个Servlet一个表,你会发现它是有用的。我会从其中一个人那里复制粘贴。

这里是Servlet和JavaBean的:

public class JsonServlet extends HttpServlet { 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     List<Data> list = dataDAO.list(); 
     response.setContentType("application/json"); 
     response.setCharacterEncoding("UTF-8"); 
     response.getWriter().write(new Gson().toJson(list)); 
    } 
} 

public class Data { 
    private Long id; 
    private String name; 
    private Integer value; 
    // Add/generate getters/setters. 
} 

JsonServlet(你可以命名为任何你想要的,这只是一个简单的例子)应在web.xml被映射在已知url-pattern,让我们使用/json在这个例子中。类Data只是表示您的HTML表(和数据库表)的一行。

现在,这里是你如何加载一个表的jQuery.getJSON帮助:

$.getJSON("http://example.com/json", function(list) { 
    var table = $('#tableid'); 
    $.each(list, function(index, data) { 
     $('<tr>').appendTo(table) 
      .append($('<td>').text(data.id)) 
      .append($('<td>').text(data.name)) 
      .append($('<td>').text(data.value)); 
    }); 
}); 

课程的tableid表示有问题的HTML元素<table>id

<table id="tableId"></table> 

应该是这样。毕竟它很简单,相信我。祝你好运。