Создайте класс servlet , позвольте ему вызывать вашу "отдельную программу Java" в методе doGet()
, получите из него нужные данные в виде некоторой List<Row>
, поместите их в область запроса и переслать запрос на JSP
List<Row> rows = yourProgram.list();
request.setAttribute("rows", rows);
request.getRequestDispatcher("/WEB-INF/list.jsp").forward(request, response);
И, наконец, в /WEB-INF/list.jsp
используйте JSTL c:forEach
, чтобы отобразить его.
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
<table>
<tr>
<c:forEach items="${rows[0].columns}" var="column">
<th><c:out value="${column.name}" /></th>
</c:forEach>
</tr>
<c:forEach items="${rows}" var="row">
<tr>
<c:forEach items="${row.columns}" var="column">
<td><input type="text" name="${fn:escapeXml(column.name)}" value="${fn:escapeXml(column.value)}" /></td>
</c:ForEach>
</tr>
</c:forEach>
</table>
Пусть он отправит сервлету <form method="post">
и соберет данные в методе doPost()
.