Ich habe eine adminpanel.jsp Seite, die alle Namen der Benutzer und jedes ihrer Arrays anzeigen soll. Ich habe eine verschachtelte ForEach-Schleife. Die Schleife auf oberster Ebene funktioniert einwandfrei und zeigt die Informationen wie angefordert an.JSTL geschachtelt fürJedes auf Array zeigt leer
Die zweite Schleife wird als leeres Array angezeigt. []
Ich habe in meinem Programm überprüft, das Array selbst ist ausgefüllt.
Dies ist meine .jsp Seite:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Admin Panel</title>
</head>
<body>
<%
UserService us = ServiceProvider.getUserService();
List<User> allUsers = us.getAllUsers();
request.setAttribute("allUsers", allUsers);
%>
<h1>This is the admin panel</h1>
<c:forEach step="1" var="user" items="${allUsers}">
<h3>${user.firstName} ${user.lastName}</h3>
<c:out value="${user.allPomodoros}" /> // shows up empty
<c:forEach step="1" var="pomodoro" items="${user.allPomodoros}">
<table>
<tr>
<th>User ID</th>
<th>Start Time</th>
<th>End Time</th>
<th>Completed</th>
<th>Pomodoro ID</th>
</tr>
<tr>
<td>${pomodoro.userID}</td>
<td>${pomodoro.beginTime}</td>
<td>${pomodoro.endTime}</td>
<td>${pomodoro.isCompleted}</td>
<td>${pomodoro.pomodoroID}</td>
</tr>
</table>
</c:forEach>
</c:forEach>
</body>
</html>
Wenn Sie weitere Informationen benötigen, lassen Sie es mich wissen.
Wenn $ {user.allPomodoros} nichts ausgibt, gibt die getAllPomodoros() -Methode null oder eine leere Auflistung zurück. Es gibt nichts im geposteten Code, das uns dazu bringen könnte, etwas anderes zu denken: kein Code des Benutzers, nichts gedruckt, was zeigt, dass die Sammlung nicht leer ist, etc. Außerdem entferne step = "1": es ist unnützes Rauschen. –
überprüfen Sie Ihre Daten in der Bean mit System.out.println (...); dann überprüfen Serverprotokolle – Taha