2017-10-11 8 views
0

Donc, j'obtiens une ArrayList de StudentBeans de la session, et je veux parcourir chaque StudentBean et obtenir les valeurs, mais pour une raison quelconque, le Les éléments de ArrayList ne sont pas stockés dans la variable car j'obtiens seulement un constructeur 0 arg StudentBean. Pouvez-vous me dire où est mon erreur?Impossible d'itérer sur une ArrayList avec c: foreach (JSP/JSTL)

<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

se débarrasser de cette déclaration '

+0

Reportez-vous également à https://www.javatpoint.com/jsp-useBean-action –

+0

Si je supprime '

Répondre

1

Désolé, je ne peux pas commenter.

Avez-vous inclus la bibliothèque de balises principale dans votre fichier JSP?

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

Peut-être que pour cette raison votre variable ne stocke pas.

0

Comme vous l'avez dit J'ai un servlet pour faire ArrayList et le stocker dans la session laisse supposer que l'attribut de session est appelé sList

Ensuite, dans votre JSP tout ce que vous avez besoin est

<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>