在重构我的 JSP 以查询我的数据库时,我在下面循环浏览了这个表,因此它将显示在页面上,每个都显示为一个新的表行。我在让表显示表行信息中的表数据时遇到问题。以前它循环并推送每个表中的新表数据,现在它只将表的第一行推送到表中,而表的其余部分显示位于 JSP 上表的外侧。你能帮我解决这个问题吗?首先,我将表数据推送到汽车列表中,并在一种方法中连接。我通过以下方式获取数据。
<table border="2">
<tr class="tblHeader">
<td>Car ID</td>
<td>Year</td>
<td>Make</td>
<td>Model</td>
<td>Color</td>
<td>Availability</td>
</tr>
<%
Table table = new Table();
table.getTableConnection();
List<Car> cars = table.getTableConnection();
String renting;
for (Car c : cars) {
int id = c.getId();
String year = c.getYear();
String make = c.getMake();
String model = c.getModel();
String color = c.getColor();
String avail = c.getAvailable();
%>
<tr>
<td><%=id%></td>
<td><%=year%></td>
<td><%=make%></td>
<td><%=model%></td>
<td><%=color%></td>
<td><%=avail%></td>
</tr>
}
最好将行放入循环中。
<c:forEach items="${cars}" var="car">
<tr>
<td>${car.id}</td>
<td>${car.year}</td>
<td>${car.make}</td>
<td>${car.model}</td>
<td>${car.color}</td>
<td>${car.available}</td>
</tr>
</c:forEach>
首先你需要更正HTML语法。您需要使用表标题标记<th></th>
来指定列标题。
<tr class="tblHeader">
<th>Car ID</th>
<th>Year</th>
<th>Make</th>
<th>Model</th>
<th>Color</th>
<th>Availability</th>
</tr>
关于数据渲染部分,我找不到您的代码有任何问题。
在使用 foreach 循环并移动一些小更改后,在 for 循环完成之前,表正在关闭。表数据在表端被切断。我的错,没有看到这个愚蠢的错误。