【发布时间】:2012-11-27 21:11:06
【问题描述】:
我有对象的arraylist。从 servlet,我把它放到会话中,就像这样:
session.setAttribute("registrations", rayList);
这里是jsp页面:
<%@page import="java.util.ArrayList" %>
...
<c:forEach var="book" items="${registrations}">
<tr>
<td>${book.bookName}</td>
<td>${book.bookAmount}</td>
<td>${book.BookName}</td>
<td>${book.bookYear}</td>
</tr>
</c:forEach>
但是有空,没有错误,什么也没有发生。
但是如果我对简单的变量做同样的事情,一切都很好。
也许我做错了什么?
【问题讨论】:
-
好吧,你当然不需要导入任何东西。您确定列表实际上有内容吗?您是否正确地包含了 JSTL taglib 声明?
-
是的,列表有内容。但我不确定正确的 taglib 声明/
-
检查生成的 HTML 代码。也许一切都在那里,但 CSS 隐藏了你的行。或者 taglib 没有正确声明,您会在生成的 HTML 中看到未处理的
标记。此外,将 empty = ${empty registrations}甚至size = <%= ((java.util.List) session.getAttribute("registration")).size() %>添加到您的JSP 以检查列表是否存在且非空。 -
这意味着您没有正确声明核心JSTL taglib。按照我之前发布的链接查看必须添加到 JSP 的内容。