adminpanel.jspページには、ユーザーとその配列のすべての名前が表示されるはずです。私は入れ子になったforEachループを持っています。トップレベルのループは正常に動作し、要求された情報を表示します。JSTLネストされたforEach配列が空になって表示される
2番目のループは空の配列として表示されます。 []
自分のプログラム内で、配列自体が読み込まれていることを確認しました。
これは私の.jspページです:
<%@ 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>
あなたが任意の追加情報が必要な場合、私に知らせてください。
$ {user.allPomodoros}が何も出力しない場合、getAllPomodoros()メソッドはnullまたは空のコレクションを返します。投稿されたコードには、ユーザーのコードなし、コレクションが空でないことの表示など何も表示されません。また、ステップ= "1"を削除してください:無駄なノイズです。 –
Bean内のデータをSystem.out.println(...)で検証します。 次にサーバーログを確認してください – Taha