我有以下内容:
song.jsp
<form action='cart' method='POST'>
<table style="width:1000px" style="text-align:center">
<c:set var="count" value="0" scope="page" />
<c:forEach var="item" items="${song.songInfo}">
<c:set var="split" value="${fn:split(item,';')}" />
<tr>
<td>${split[0]}</td>
<td>${split[1]}</td>
<td>${split[2]}</td>
<td>${split[3]}</td>
<td>${split[4]}</td>
<td>${split[5]}</td>
<td>${split[6]}</td>
<td><input type="checkbox" name="checked"></td>
<td><input type="hidden" name="id${count}" value="${split[7]}}"></td>
</tr>
<c:set var="count" value="${count + 1}" scope="page"/>
</c:forEach>
</table>
<input type="submit" value="Add to Cart"/>
</form>
cartServlet.java
while (request.getParameterMap().containsKey("id" + counter)){
String check = request.getParameter("checked" + counter);
if (check != null){ // ****** THIS ****************
String songID = request.getParameter("id" + counter);
System.out.println(songID);
cartBean.setCartInfo(songID);
++counter;
}
}
我发现当我添加行if (check != null){...}
时,我的程序需要非常长的时间来加载。我从来没有真正等到它完成......所以我甚至不确定该程序是否已冻结。但是,如果我删除此行,一切正常吗?
有人知道发生了什么吗?
答案 0 :(得分:1)
将++counter;
移到if
语句之外。否则你可以有无限循环。