Моя программа берет электронную почту из ввода и использует API-интерфейс haveibeenpwned, чтобы показать пользователю все найденные в этой электронной почте нарушения.
Мне интересно, как можно получить цикл forEach
для заполнениястол правильно.В настоящее время он просто заполняет каждый элемент в одну строку таблицы с заголовком таблицы под данными.Я бы хотел, чтобы заголовок был сверху, а каждое нарушение - в отдельной строке таблицы.
Вот моя форма .jsp с таблицей и forEach
:
<table class="table">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Breach</th>
</tr>
</thead>
<tbody>
<c:forEach var="breach" items="${breaches}" varStatus="status">
<tr>
<th scope="row">${status.count}</th>
<td><p>${breach}</p></td>
</tr>
</c:forEach>
</tbody>
</table>
Вот мой сервлет, в котором я получаю ArrayList обнаруженных нарушений:
String json = callPwnedApi(email);
if (json.startsWith("{") || json.startsWith("[")) {
Gson gson = new Gson();
ArrayList<Breach> breaches = gson.fromJson(json, new TypeToken<ArrayList<Breach>>(){}.getType());
if (!breaches.isEmpty() && breaches.size() > 0) {
request.setAttribute("breaches", breaches);
}
}