Java 将arraylist转换为html表
如何将arraylist检索到html表中 我的arraylist:Java 将arraylist转换为html表,java,html,servlets,arraylist,Java,Html,Servlets,Arraylist,如何将arraylist检索到html表中 我的arraylist: [ 1, 2011-05-10, 1, 22.0, 2, 2011-05-10, 2, 5555.0, 3, 2011-05-11, 3, 123.0, 4, 2011-05-11, 2, 212.0, 5, 2011-05-30, 1, 3000.0, 6, 2011-05-30, 1, 30.0, 7, 2011-06-06, 1, 307.0, 8, 2011-06-06, 1,
[
1, 2011-05-10, 1, 22.0,
2, 2011-05-10, 2, 5555.0,
3, 2011-05-11, 3, 123.0,
4, 2011-05-11, 2, 212.0,
5, 2011-05-30, 1, 3000.0,
6, 2011-05-30, 1, 30.0,
7, 2011-06-06, 1, 307.0,
8, 2011-06-06, 1, 307.0 ]
out.println("<html>");
out.println("<head>");
out.println("<title>Counter</title>");
out.println("</head>");
out.println("<body>");
out.println("<table border=\"1\">");
out.println("<tr>");
for (int i = 0; i < ex.getExpenses().size(); i++) {
out.println("<td>" + ex.getExpenses().get(i) + "</td>");
if (i>0 && i%4==0) {
out.println("</tr><tr>");
}
}
out.println("</tr>");
out.println("</table>");
out.println("</body>");
out.println("</html>");
替换
for (int i = 0; i < ex.getExpenses().size(); i++) {
out.println("<td>" + ex.getExpenses().get(i) + "</td>");
if (i>0 && i%4==0) {
out.println("</tr><tr>");
}
}
for(int i=0;i0&&i%4==0){
out.println(“”);
}
}
与
for(int i=0;i0&&i%4==0){
out.println(“”);
}
out.println(“+ex.getExpenses().get(i)+”);
}
顺便说一下。创建包含4个字段的单独类
费用
。将其转换为html将更简洁、更容易。您可以编写特殊的单独方法将费用
转换为html表格行。将i
更改为(i+1)
:
[
1, 2011-05-10, 1, 22.0,
2, 2011-05-10, 2, 5555.0,
3, 2011-05-11, 3, 123.0,
4, 2011-05-11, 2, 212.0,
5, 2011-05-30, 1, 3000.0,
6, 2011-05-30, 1, 30.0,
7, 2011-06-06, 1, 307.0,
8, 2011-06-06, 1, 307.0 ]
out.println(“”);
out.println(“”);
out.println(“计数器”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“”);
对于(int i=0;i0&(i+1)%4==0){
out.println(“”);
}
}
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“”);
第一件事:
将arrylist放入单独的变量中,然后使用foreach对其进行Itate,而不是反复调用Get()和Get(i),然后更改if条件
if ((i+1)%4==0) {
out.println("</tr><tr>");
}
if((i+1)%4==0){
out.println(“”);
}
第二件事:
使用
StringBuilder
类连接输出字符串,然后仅打印一个输出。打印使用单独的计数器变量-将其初始化为1,然后检查计数%4=0
或调整条件以绘制新行:if(i>0&(i+1)%4==0){您能告诉我在代码中初始化它的位置并循环它吗,因为我已经尝试过了,但得到的只是一张凌乱的表格谢谢,我刚刚读了您的第二条评论,它工作得很好。再次感谢!为什么您要在最后输出一个无用的空行?为什么我%4==1?
for (int i = 0; i < ex.getExpenses().size(); i++) {
if (i>0 && i%4==0) {
out.println("</tr><tr>");
}
out.println("<td>" + ex.getExpenses().get(i) + "</td>");
}
[
1, 2011-05-10, 1, 22.0,
2, 2011-05-10, 2, 5555.0,
3, 2011-05-11, 3, 123.0,
4, 2011-05-11, 2, 212.0,
5, 2011-05-30, 1, 3000.0,
6, 2011-05-30, 1, 30.0,
7, 2011-06-06, 1, 307.0,
8, 2011-06-06, 1, 307.0 ]
out.println("<html>");
out.println("<head>");
out.println("<title>Counter</title>");
out.println("</head>");
out.println("<body>");
out.println("<table border=\"1\">");
out.println("<tr>");
for (int i = 0; i < ex.getExpenses().size(); i++) {
out.println("<td>" + ex.getExpenses().get(i) + "</td>");
if (i>0 && (i+1)%4==0) {
out.println("</tr><tr>");
}
}
out.println("</tr>");
out.println("</table>");
out.println("</body>");
out.println("</html>");
if ((i+1)%4==0) {
out.println("</tr><tr>");
}