String chkbox[]=request.getParameterValues("check");if ( chkbox != null )
{
    for(int i = 0; i < chkbox.length; i++)
        out.println(chkbox[i] + "<br>");
}

解决方案 »

  1.   

    String chkbox[]=request.getParameterValues("check"); 
    int len=chkbox.length;
    for(int i=0;i<len;i++)
    out.println(chkbox[i]+"<br>");
      

  2.   

    String chkbox[]=request.getParameterValues("check");
    if (chkbox!=null) {
    int len=java.lang.reflect.Array.getLength(chkbox);
    for(int i=0;i<len;i++)
    out.println(chkbox[i]+"<br>");
    }
      

  3.   

    if ( chkbox != null )
    {
        for(int i = 0; i < chkbox.length; i++)
            out.println(chkbox[i] + "<br>");
    }这样比较好,
    为什么要用
    import java.lang.reflect.Array;?
      

  4.   

    你们这样可不行,只写代码的话他可能不会明白什么地方错了。
    实际上这是新手常犯的一个错误int len=java.lang.reflect.Array.getLength(chkbox);如果在上一页没有对checkbox作任何操作的话,String chkbox[]=request.getParameterValues("check");中chkbox[]应该是null,所以也就可以理解为chkbox[]没有length。所以就会拋出空指针异常。
    代码我就不写了,二楼、四楼都是正解,当然你也可以在它为null时转到其它页面,或者跳转回去
      

  5.   

    各位的方法我都试了一下,简要的说在这个程序中,只要一出现将chkbox.length赋值,或者打印值都将出现我说的那种错误,二楼四楼理解应该是正确的,但是却打印的值都是空值,没有出现check的value值,谁能告诉是怎么回事?
      

  6.   

    在上一页中我是以循环方式加入的,ss="<input type=checkbox name=check['"+i+"'] value='"+prj_num+"'>"其中的prj_num是一个主键,是从数据库中取出的唯一值。
      

  7.   

    在上一页中我是以循环方式加入的,ss="<input type=checkbox name=check value='"+prj_num+"'>"其中的prj_num是一个主键,是从数据库中取出的唯一值。
      

  8.   

    name=check就行了,不需要=check['"+i+"']
      

  9.   

    ss="<input type=checkbox name=check['"+i+"'] value='"+prj_num+"'>"改为
    ss="<input type=checkbox name=check value='"+prj_num+"'>"
    要保证复选框的名称一致,这样用request.getParameterValues("check");返回的才是同名参数的数组值...
      

  10.   

    但我在上页中还做了一个全选的checkbox实现全选,我必须要利用name去区分的。
      

  11.   

    要接收数组,标签名字要相同,都用checkss="<input type=checkbox name=check value='"+prj_num+"'>"
      

  12.   

    如果我那样做了,那么我在上页中实现全选方面就不好做了,因为我在那个页面中有16个checkbox复选框,我要通过最下面一个控制10个checkbox的复选,所以我才利用了用名字去区别,而且做了两个form才实现好了,改成check的话就判断不出来了。
      

  13.   

    //javascript里也支持获得同名标签数组
    var checkboxs = document.getElementsByName('check');for ( i = 0; i < checkboxs.length; i++ )
    {
        checkboxs[i].checked = true;
    }
      

  14.   

    是不是因为我上一页做了两个form,所以我从form2中取出的值如果在当前页面不说明的话会取不到值呢?
      

  15.   

    回:robert8292(Robert Chen)
    现在我好像在上一页对check进行了选择,但我的之还是null,那是怎么回事呢?
      

  16.   

    现在我在前一页以ss="<input type=checkbox name=check value='"+prj_num+"'>"然后以循环打印,
    在当前页我以
    String chkbox[]=request.getParameterValues("check");
    out.println(chkbox);
    if (chkbox!=null) {
    int len=java.lang.reflect.Array.getLength(chkbox);
    out.println(len);
    for(int i=0;i<len;i++)
    out.println(i);
    }
    当我打印chkbox时还是出现了null值,为什么呢?
      

  17.   

    最好不要做两个form。另外注意form不可嵌套。document.forms[0]表示第1个form依次类推,1...2...
      

  18.   

    其实一开始我也不想做两个form窗体,但是主要就是为了实现复选的原因
      

  19.   

    复选框都取一样的名字,例如"cb" 
    String cb[]=(String[])request.getParameterValues("cb");
      for (int i=0; i<cb.length; i++)
     out.print("No."+i+":"+cb[i]+"<br>");