我是Spring 和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>因此,正如您可以看到的,在numeroProgettiWifiScuoleList forEach循环中,我必须执行一个 if 测试,检查与迭代(item.index)中当前项相关的集合的值是否等于0。在本例中,显示文本。
但以这种方式不起作用(
标记未显示)。
为什么?我遗漏了什么?我怎样才能解决这个问题?
发布于 2015-09-02 13:11:37
您必须在IF condition..Because中指定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>https://stackoverflow.com/questions/32354027
复制相似问题