为什么这个进入 Spring MVC JSP 页面的 if 语句不能工作?

Why this if statment into a Spring MVC JSP page can't work?

我是 Spring MVCJSP 页面的新手,我遇到了以下问题。

进入控制器 class 我将这两个集合添加到我的 模型 对象中:

List<Integer> numeroProgettiWifiScuoleList = new ArrayList<>();
List<Integer> numeroProgettiPnsdScuoleList = new ArrayList<>();

通过这些行:

model.addAttribute("numeroProgettiWifiScuoleList", numeroProgettiWifiScuoleList);
model.addAttribute("numeroProgettiPnsdScuoleList", numeroProgettiPnsdScuoleList);

而且效果很好。问题是现在进入我的 JSP 页面我有这样的东西:

<c:forEach items="${listaScuoleDS}" var="scuola" varStatus="item">

    <c:if test="${numeroProgettiWifiScuoleList[item.index] == 0}">
        <p>Nessun progetto WIFI associato alla scuola</p>
    </c:if>

</c:forEach>

因此,如您所见,在 forEach 循环中,我必须执行 if 测试以检查numeroProgettiWifiScuoleList 与迭代中的当前项目相关的集合 (item.index) 等于 0。在这种情况下显示文本。

但这种方式行不通(

标签未显示)。

为什么?我错过了什么?我该如何解决这个问题?

你必须在 IF 条件下给出 var 名称..因为你正在使用 JSTL 标签来获取值。

<c:set var ="numeroProgettiWifiScuoleList" value=${numeroProgettiWifiScuoleList}">
    <c:forEach items="${listaScuoleDS}" var="scuola" varStatus="item">

        <c:if test="${scuola[item.index] == 0}">
            <p>Nessun progetto WIFI associato alla scuola</p>
        </c:if>

    </c:forEach>