我在 Spring MVC 和 JSP 页面上相当新,我遇到以下问题。
在控制器类中,我将这2个集合添加到模型对象:
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.在这种情况下显示文本。
但是这样做不起作用(
标签没有显示。)
为什么呢?我错过了什么?我该如何解决这个问题?
答案 0 :(得分: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>