【发布时间】:2017-03-17 20:22:38
【问题描述】:
我创建列表:
List<CheckoutDb> people = new ArrayList<CheckoutDb>();
我从数据库中获取信息并将其添加到类中:
CheckoutDb checkout = new CheckoutDb(rs.getInt("CheckOutNumber"),rs.getString("FirstName"));
然后我将它添加到列表中:
people.add(checkout);
然后我可以这样做以打印出列表:
for (CheckoutDb test : people) {
System.out.println(test.getCheckOutNumber() + test.getFirstName() );
}
我将列表发送到一个 jsp 文件:
request.setAttribute("people", people);
我的问题是:如何在 jstl 中进行相同的迭代?
我已经这样做了,但没有打印出来:
<c:forEach items="${people}" var="item">
<td> ${item}</td>
</c:forEach>
<c:forEach items="${people}" var="item">
<td> ${item.getFirstName()}</td>
</c:forEach>
<c:forEach items="${people}" var="item">
<td> ${people}</td>
</c:forEach>
输出: Goldenoaks.data.CheckoutDb@6f0602e0, goldenoaks.data.CheckoutDb@712ea5db, goldenoaks.data.CheckoutDb@3e3dc69e, goldenoaks.data.CheckoutDb@31e05b52,
如果我这样做:
${people.size()}
它输出正确的大小
如果我这样做,它只会打印列表中的最后一项:
<c:forEach var="people" items="${checkedOutList}">
<tr>
<td>${people.firstName} ${people.lastName}</td>
</tr>
</c:forEach>
【问题讨论】: