jsp使用URL向servlet传值,URL太长!!!

jeff1114 2010-06-17 11:37:15
jsp页面上的是一个表格,显示的是数据库查得的数据,每行前面有一个复选框,让用户进行选择的。
js中的操作是:把用户选中的所有数据的ID号放在id变量中,然后传到servlet中,
代码为:
document.myform.action="DeleteServlet?method=delete&id="+id;
document.myform.submit();
我传的id个数少时,可以把id值传到servlet中,但如果是传很多id(例如500),则无法把id值传到servlet中,报的错误是“无效的语法"?
把id放入数组好像也不行,同样的错误?
有没有什么方法解决这个问题?
...全文
958 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
sun0322 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 izard999 的回复:]
js里面给form添加hidden, 再提交
[/Quote]

好思想!学习了
lizhongyi188 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 happykeke 的回复:]

引用 8 楼 chentietj123 的回复:

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


恩 是的
[/Quote]
OK
HappyKeKe 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 chentietj123 的回复:]

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

恩 是的
  • 打赏
  • 举报
回复
用post吧,get方法最大长度是255个字符;
post最多能支持2M;
URL 拼串太长会有问题
luozhangwen 2010-06-17
  • 打赏
  • 举报
回复
提交的时候尽量不要用URL来传参数.

尽量用POST提交.
stl0 2010-06-17
  • 打赏
  • 举报
回复
用URL提交,我想LZ用的应该是GET方法吧, GET方法URL最大长是255个字符
建议用POST方法吧,没有URL长度限制
dr_lou 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 youanyyou 的回复:]
引用 1 楼 izard999 的回复:
js里面给form添加hidden, 再提交


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

  • 打赏
  • 举报
回复
既然是复选框,那么你也可以使用标签,在后台直接定义一个list变量与页面复选框绑定。。
Java技术栈 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 izard999 的回复:]
js里面给form添加hidden, 再提交
[/Quote]

每个ID名称相同 在servlet里面 request.getParameterValues("ID名称")得到String数组
izard999 2010-06-17
  • 打赏
  • 举报
回复
js里面给form添加hidden, 再提交
flysun03 2010-06-17
  • 打赏
  • 举报
回复
数据的传值用url本身就不建议。
楼主可以写bean,页面用隐藏域。
也可以把要传的数据放在某范围内(request/session等)获得
「已注销」 2010-06-17
  • 打赏
  • 举报
回复
呵呵 up下
jinchun1234 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 chentietj123 的回复:]
用post吧,get方法最大长度是255个字符;
post最多能支持2M;
URL 拼串太长会有问题
[/Quote]

right
smi_ling 2010-06-17
  • 打赏
  • 举报
回复
说完了,我来接分
zixingshu710 2010-06-17
  • 打赏
  • 举报
回复
不错的方法,我试试!
Fairy_dy 2010-06-17
  • 打赏
  • 举报
回复
上面已经解答
javaisthis 2010-06-17
  • 打赏
  • 举报
回复
首先,碰到参数比较多的就改用post提交
其次,考虑一下是否把大量的数据放到一个数组中进行封装
在后台得到的接收参数有两个方法一个是接收单个参形式getParameter(),另一个则是接收数组形式的getParameterValues()
boluo520 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dr_lou 的回复:]
引用 3 楼 youanyyou 的回复:
引用 1 楼 izard999 的回复:
js里面给form添加hidden, 再提交


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

[/Quote]
确实

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧