在dopost方法中写的代码: String checkboxes[] = request.getParameterValues("checkbox");

for(int i=0; i<3 ;i++)
{
if(checkboxes[i] != null)
{
System.out.print(checkboxes[i]);

}


}假设页面中有三个checkbox(name="checkbox"),若三个都选中程序正常,输出123。若三个中只要有一个没选中那么程序异常。
描述:
java.lang.ArrayIndexOutOfBoundsException: 2
com.upc.department.servlet.deleteDeptServlet.doPost(deleteDeptServlet.java:57)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
请问这是为什么?怎么会数组溢出?谢谢!

解决方案 »

  1.   


     for(int i=0; i<checkboxes.length ;i++)
                {
                    if(checkboxes[i] != null)
                    {
                        System.out.print(checkboxes[i]);
                        
                    }
                        
                    
                }
      

  2.   

    for(int i=0; i<checkboxes.length ;i++)如果没选中的话,可能不提交.
      

  3.   

    checkbox  只会提交 选中的  所以你全选中就没问题  你少选一个 就数组溢出   
    还有, 有你这样循环的么   改成这个还差不多
     for(int i=0; i<checkboxes.length ;i++)
                {
                    if(checkboxes[i] != null)
                    {
                        System.out.print(checkboxes[i]);
                        
                    }
                        
                    
                }