使用JSTL forEach Loop填充JSP表

问题描述 投票:0回答:2

我的程序从输入中接收电子邮件,并使用hasibeenpwned API向用户显示从该电子邮件中发现的所有违规行为。

我想知道如何让我的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>

这是我的servlet,我在其中找到了发现的漏洞的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);
        }
    } 
java foreach jstl
2个回答
0
投票

运行此代码时看到的错误或结果是什么? Here是一个教程,详细解释了JSTL的用法。如上所述,我认为你需要在QSTL表达式中将breaches限定为requestScope.breaches


0
投票

所以,作为JSTL的新手,我犯了一个非常简单的错误!

我不知道我需要将JSTL库添加到我的项目中,我还需要将此行添加到我的.jsp页面:

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

所以这样做之后,我的桌子完美无缺!希望这最终会帮助JSTL新手!

© www.soinside.com 2019 - 2024. All rights reserved.