<body>
<%
int apps = 11;
out.println("<div>");
out.println("<table>");
StringBuilder Row1 = new StringBuilder();
Row1.append("<tr>");
StringBuilder Row2 = new StringBuilder();
Row2.append("<tr>");
StringBuilder Row3 = new StringBuilder();
Row3.append("<tr>");
for (int i = 0; i < apps; i++) {
if (i % 2 == 0) {
Row1.append("<td>" + i + "</td>");
}
if (i % 2 == 1) {
Row2.append("<td>" + i + "</td>");
}
}
Row1.append("</tr>");
Row2.append("</tr>");
out.println(Row1.toString());
out.println(Row2.toString());
out.println("</table>");
out.println("</div>");
%>
</body>
这是我的jsp页面,
目前我的输出为
0 1 2 3 4 5 6 7 8 9 10
现在我需要输出
在第1行:
0 3 6 9 12 15
在第2行:
中1 4 7 10 13
在第3行:
2 5 8 11 14
如果我有100个数字,输出需要如上所述。
答案 0 :(得分:0)
我是PHP开发人员,我是用php方式完成的。但逻辑是一样的..
<?php
$apps = 100;
for ($i = 0; $i < $apps; $i++) {
if ($i % 3 == 0) {
$row1 .= "<td>" .$i ."</td>";
}
if ($i % 3 == 1) {
$row2 .= "<td>" .$i ."</td>";
}
if ($i % 3 == 2) {
$row3 .= "<td>" .$i ."</td>";
}
}
?>
<table>
<tr><?php echo $row1; ?></tr>
<tr><?php echo $row2;?></tr>
<tr><?php echo $row3; ?></tr>
</table>
更改适当的位置并检查..
答案 1 :(得分:0)
for (int i = 0; i < apps; i++) {
if (i % 3 == 0) {
Row1.append("<td>" + i + "</td>");
} else if (i % 3 == 1) {
Row2.append("<td>" + i + "</td>");
} else if (i % 3 == 2) {
Row3.append("<td>" + i + "</td>");
}
}
<强> ADDITION 强>:
你还没有打印出第三排...... 尝试添加这个:
Row3.append("</tr>");
out.println(Row3.toString());
答案 2 :(得分:0)
我鼓励你停止在你的jsp页面中使用java代码,因为它会变得非常脆弱。另一种方法是使用JSTL。您的页面将被翻译成如下:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<body>
<table>
<c:set var="apps" value="10"/>
<tr>
<c:forEach var="i" begin="0" end="${apps}" step="3">
<td><c:out value="${i}"/></td>
</c:forEach>
</tr>
<tr>
<c:forEach var="i" begin="1" end="${apps}" step="3">
<td><c:out value="${i}"/></td>
</c:forEach>
</tr>
<tr>
<c:forEach var="i" begin="2" end="${apps}" step="3">
<td><c:out value="${i}"/></td>
</c:forEach>
</tr>
</body>
</html>
通过这种方式,您可以更轻松地在商务逻辑和视图逻辑(生成页面)之间保持清晰的分离。