JSF - это не то, что вы ищете.Это основанная на компонентах инфраструктура MVC.Просто сделайте это простым и уродливым способом в простом цикле в сервлете:
writer.write("<table>");
for (Item item : items) {
writer.write("<tr>");
writer.write(String.format("<td>%s</td>", item.getFoo()));
writer.write(String.format("<td>%s</td>", item.getBar()));
writer.write("</tr>");
}
writer.write("</table>");
Или сохраните его как атрибут запроса и перешлите к JSP
request.setAttribute("items", items);
request.getRequestDispatcher("items.jsp").forward(request, response);
, который в свою очередь в основномсодержит следующее:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<table>
<c:forEach items="${items}" var="item">
<tr>
<tr>${item.foo}</td>
<tr>${item.bar}</td>
</tr>
</c:forEach>
</table>
Или, скорее, ищите другой и более гибкий формат данных, такой как JSON , чтобы у клиента была свобода его рендеринга.Вот пример, который использует Google Gson .
writer.write(new Gson().toJson(items));
, который можно отобразить в таблицу с помощью jQuery следующим образом:
$.getJSON('json/items', function(items) {
var table = $('#someelement').append('<table>');
$(items).each(function(i, item) {
var row = table.append('<tr>');
row.append('<td>').text(item.foo);
row.append('<td>').text(item.bar);
});
});
См. Также: