【发布时间】:2016-06-26 16:03:36
【问题描述】:
有一个 ArrayList 包含字符串数组。每个字符串数组包含每一行的值。我想用 JSP 打印这个。我尝试直接从 servlet 打印它,它可以工作,但是由于数据很多,所以速度很慢。如何在 JSP EL 中执行此操作?
public void printTableData(List<String[]> dataTable, PrintWriter out) {
System.out.println(dataTable);
out.println("<table border='1'>");
out.println("<tr>");
for (int j = 0; j < dataTable.get(0).length; j++) {
out.println("<th>" + dataTable.get(0)[j] + "</th>");
}
out.println("</tr>");
if (dataTable.size() > 1)
for (int i = 1; i < dataTable.size(); i++) {
out.println("<tr>");
for (int j = 1; j < dataTable.get(i).length; j++) {
out.println("<td>" + dataTable.get(i)[j] + "</td>");
}
out.println("</tr>");
}
out.println("</table>");
}
}
【问题讨论】:
-
dataTable.forEach(System.out::println);我在这里使用了 lambdas..或使用迭代器。
-
“大量数据”是什么意思?数千行?如果是这样,那么这是你的问题,你应该“分页”结果。无论如何,一个好的 java profiler 将极大地帮助您找到时间丢失的地方
-
看看谷歌是怎么做到的。它被称为“过滤”和“分页”。他们不会在一个页面中一次显示所有这些海量的互联网结果。网络浏览器根本不会咀嚼它。
标签: java arrays jsp servlets arraylist