jsp页面上的是一个表格,显示的是数据库查得的数据,每行前面有一个复选框,让用户进行选择的。
  js中的操作是:把用户选中的所有数据的ID号放在id变量中,然后传到servlet中,
  代码为:
  document.myform.action="DeleteServlet?method=delete&id="+id;
  document.myform.submit();
  我传的id个数少时,可以把id值传到servlet中,但如果是传很多id(例如500),则无法把id值传到servlet中,报的错误是“无效的语法"?
  把id放入数组好像也不行,同样的错误?
  有没有什么方法解决这个问题?

解决方案 »

  1.   

    js里面给form添加hidden, 再提交
      

  2.   


    每个ID名称相同 在servlet里面 request.getParameterValues("ID名称")得到String数组
      

  3.   

    既然是复选框,那么你也可以使用标签,在后台直接定义一个list变量与页面复选框绑定。。
      

  4.   

    用URL提交,我想LZ用的应该是GET方法吧, GET方法URL最大长是255个字符
    建议用POST方法吧,没有URL长度限制
      

  5.   

    提交的时候尽量不要用URL来传参数. 尽量用POST提交.
      

  6.   

    用post吧,get方法最大长度是255个字符;
    post最多能支持2M;
    URL 拼串太长会有问题
      

  7.   

    首先,碰到参数比较多的就改用post提交
    其次,考虑一下是否把大量的数据放到一个数组中进行封装
    在后台得到的接收参数有两个方法一个是接收单个参形式getParameter(),另一个则是接收数组形式的getParameterValues()
      

  8.   

    数据的传值用url本身就不建议。
    楼主可以写bean,页面用隐藏域。
    也可以把要传的数据放在某范围内(request/session等)获得