Ваша актуальная проблема в том, что вы не знаете, как обрабатывать строку JSON на стороне клиента. Я настоятельно рекомендую использовать для этого jQuery , поскольку это значительно упрощает манипулирование DOM. Я предлагаю пройти их уроки или получить приличную книгу на эту тему.
Для смеси таблиц jQuery + JSON + Servlet + HTML я уже публиковал подобные ответы до здесь и здесь с примерами кода, как заполнять таблицу с помощью Google Gson и сервлет, вы можете найти его полезным. Я скопирую пасту с одного из них.
Вот сервлет и 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
обозначает id
рассматриваемого элемента HTML <table>
.
<table id="tableId"></table>
Так и должно быть. В конце концов, это довольно просто, поверь мне. Удачи.