2017-10-11 212 views
0

因此,我从会话中获得了一个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> 
+0

摆脱这个声明'

+0

另请参阅https://www.javatpoint.com/jsp-useBean-action –

+0

如果我删除'

回答

1

对不起,我无法做评论。

您是否在JSP文件中包含了核心标记库?

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

也许正因为如此,你的变量不存储。

0

正如你们所指出我有一个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>