我有一个c:forEach,它会让我们说从20到24
<c:forEach var="i" begin="20" end="24">
并在其中,另一个c:forEach
<c:forEach items="${'${i}'}" var="entry">
因为我从控制器传递了多个这样的列表:
for(Team t : teams) {
String name = team.getTeamId() + "";
model.addObject(name, tableData);
}
其中team是对象,model是ModelAndView。控制器似乎工作正常,在我的JSP中我已经使用了一些数据。但我无法正确获取物品..我需要获得物品=&#34; 20&#34;当i var为20时,我真的不知道该怎么做了。有一些ID为20到24的团队,我已经检查过,错误显示NumberFormatExceptions或者不知道如何迭代所提供的项目。
提前致谢!
答案 0 :(得分:2)
如果你只是想在第二个forEach中获得items =“20”,你可以试试这个:
<c:forEach var="i" begin="20" end="24">
<c:set var="tmp" value="${i}">
<c:forEach items="${tmp}" var="entry">
...
</c:forEach>
</c:forEach>
但似乎“items”必须是可迭代的数据。
答案 1 :(得分:1)
由于您将号码传递给JSTL foreach
,因此您必须使用JSTL
格式taglib
格式化号码。因为JSTL
不了解它是数字还是变种
在JSP
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
现在将数字传递给格式化:
<c:forEach items="<fmt:formatNumber value="${i}"/>" var="entry">
希望这会对你有所帮助。