无法用c:foreach(JSP/JSTL)迭代ArrayList
问题描述:
因此,我从会话中获得了一个ArrayList StudentBeans
,我想遍历每个StudentBean
并获取值,但由于某些原因, ArrayList元素没有被存储在变量中,因为我只有一个0参数构造函数StudentBean
。你能告诉我我的错误在哪里吗?无法用c:foreach(JSP/JSTL)迭代ArrayList
<jsp:useBean
id="list"
class="java.util.ArrayList"
type="java.util.ArrayList"
scope="session">
</jsp:useBean>
<jsp:useBean
id="student"
class="com.dheri.parteek.beans.StudentBean"
type="com.dheri.parteek.beans.StudentBean"
scope="page">
</jsp:useBean>
<table>
<tr>
<th>#</th>
<th>Name</th>
<th>ID</th>
<th>Grade</th>
</tr>
<c:forEach items="${list}" var="student">
<tr>
<td>
x
</td>
<td>
${student.name}
</td>
<td>
${student.id}
</td>
<td>
${student.grade}
</td>
</tr>
</table>
</c:forEach>
答
对不起,我无法做评论。
您是否在JSP文件中包含了核心标记库?
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
也许正因为如此,你的变量不存储。
答
正如你们所指出我有一个servlet,使ArrayList和它存储在会话让我们假设会话属性称为在你的JSP所有你需要sList
则
<c:forEach items='${sList}' var='student'>
<tr>
<td>
x
</td>
<td>
${student.name}
</td>
<td>
${student.id}
</td>
<td>
${student.grade}
</td>
</tr>
</c:forEach>
摆脱这个声明'
另请参阅https://www.javatpoint.com/jsp-useBean-action –
如果我删除'