您可以
Map<String,Object>用来表示“动态”行,该行可在中进行迭代
<c:forEach>。您可以
ResultSetmetaData用来收集有关列的信息,例如列数和列标签。
因此,此映射应执行以下操作:
List<Map<String, Object>> rows = new ArrayList<Map<String, Object>>();ResultSetmetaData metaData = resultSet.getmetaData();int columnCount = metaData.getColumnCount();while (resultSet.next()) { Map<String, Object> columns = new linkedHashMap<String, Object>(); for (int i = 1; i <= columnCount; i++) { columns.put(metaData.getColumnLabel(i), resultSet.getObject(i)); } rows.add(columns);}您可以在JSP中将其显示如下:
<table> <thead> <tr> <c:forEach items="${rows[0]}" var="column"> <td><c:out value="${column.key}" /></td> </c:forEach> </tr> </thead> <tbody> <c:forEach items="${rows}" var="columns"> <tr> <c:forEach items="${columns}" var="column"> <td><c:out value="${column.value}" /></td> </c:forEach> </tr> </c:forEach> </tbody></table>


