JSP - 验证复选框按钮导致加载时间长?

时间:2014-04-10 00:20:22

标签: java jsp checkbox

我有以下内容:

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){...}时,我的程序需要非常长的时间来加载。我从来没有真正等到它完成......所以我甚至不确定该程序是否已冻结。但是,如果我删除此行,一切正常吗?

有人知道发生了什么吗?

1 个答案:

答案 0 :(得分:1)

++counter;移到if语句之外。否则你可以有无限循环。