JSP迭代未显示

时间:2017-12-18 11:15:28

标签: java jsp servlets web-applications

我将servlet中的列表传递给JSP,如下所示:

Agent agent = (Agent) request.getSession().getAttribute("agent");

List<Message> messageList = agent.mailbox.getMessages();
request.setAttribute("messageList", messageList);

request.getRequestDispatcher("/message.jsp").forward(request, response);

然后,我在JSP文件中迭代它,如下所示:

<c:forEach items="${sessionScope.messageList}" var="msg">
    <tr>
        <td>Agent ID: <c:out value="${msg.getID()}"/></td>
    </tr>
</c:forEach>

Web应用程序执行并正常运行,没有错误等...但是,列表中的输出未显示。

2 个答案:

答案 0 :(得分:1)

我需要安装JSTL才能使用代码。

  1. here下载Jar文件并将它们放在WEB-INF / lib文件夹中。
  2. 如果您正在使用maven添加依赖项。
  3. 在JSP页面顶部添加taglib:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  4. 重建项目
  5. 现在您可以在JSP中使用JSTL。

答案 1 :(得分:0)

您正在设置请求属性,但会在sessionScope.messageList上进行迭代。

使用requestScope.messageList,或只使用messageList