我需要在表(jsp)中显示一些数据。数据的传递方式如下:
request.setAttribute("name", nameVariable);
request.setAttribute("surname", surnameVariable);
request.setAttribute("list", list); //Here are stored ultimately all the data (so name and surname also)
我的列表
正在更新,我也需要更新该列表。我知道我的列表中有更多项目,但此代码仅打印该列表中的最后一条记录。我应该在代码中更改什么才能打印表中列表中的所有记录?
我的jsp:
<c:forEach items="${list}">
<tr>
<td>${name}</td>
<td>${surname}</td>
</tr>
</c:forEach>
最佳答案
在循环的每次迭代中,您总是打印相同的请求属性,完全忽略列表的当前元素。假设列表包含 Person 类型的对象(例如),该对象具有 getName()
和 getSurname()
方法,则代码应为
<c:forEach items="${list}" var="person">
<tr>
<td>${person.name}</td>
<td>${person.surname}</td>
</tr>
</c:forEach>
就像在 Java 中一样,foreach 循环会在迭代期间为当前人员定义一个人员变量:
for (Person person: list) {
System.out.println(person.getName());
System.out.println(person.getSurname());
}
关于java - 从 ArrayList 创建 JSP 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46071550/