java - 从 ArrayList 创建 JSP 表

标签 java jsp servlets

我需要在表(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/

相关文章:

java - 强制访问外部可移动 microSD 卡

java - Struts2 迭代器用不同类型填充下拉列表

java - 加载时从 jsp 调用不返回任何内容的 servlet

java - 检测版本 Tomcat 服务器 (JSP/Servlet)

java - spring 下载文件 Controller 中重定向的错误处理

java - 如何从 GWT servlet 调用 HttpServlet 的 Post 方法?

java - Java 8 的新 Java Date Time API 是否处理 DST?

java - 仅为 Java bean 的第一次页面刷新设置变量?

java - 我可以使 ProgressMonitor 对话框成为模态吗?

java - 奇怪的问题 : jsf inside jsp not working