关于servlet接收数组对象的问题

roger666888 2009-04-07 11:01:10
我通过js中的方法,获得到了页面上的数据,比如是(1 2 3 4)四个数,然后把这四个数放在一个数组中,我再通过$ajax方法中的post方法把这个数组对象发送给servlet,然后输出servlet接收到的数组对象,发现那四个数之间被逗号隔开了,请问这是什么原因啊?是servlet里面的处理机制直接对数组处理了嘛?
...全文
374 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙飞tgbmlp 2009-04-07
  • 打赏
  • 举报
回复
不好意思,我刚才写错了 得到数组需要用 request.getParameterValues

String checkids = request.getParameter("checkids");System.out.println(checkids); 如果url中有好几个checkids,String checkids的值是取得的第一个值,只有用getParameterValues才行


package cn.com.year2009.month04.day07;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;

/**
* Created by IntelliJ IDEA.
* User: Administrator
* Date: 2009-4-7
* Time: 23:29:11
* To change this template use File | Settings | File Templates.
*/
public class TestServlet extends HttpServlet {

protected void service(HttpServletRequest request, HttpServletResponse httpServletResponse) throws ServletException, IOException {
String a=request.getParameter("a");
System.out.println(a);

String b[]=request.getParameterValues("a");
for(int i=0;i<b.length;i++){
System.out.println(b[i]);
}
}
}




url = http://localhost:7001/web/TestServlet?a=1&a=2


打印结果
1
1
2
roger666888 2009-04-07
  • 打赏
  • 举报
回复
我用的js类库是jquery,url:"../DelCheckedServelt?checkids=" + checkids,checkids中的内容是{1 2 3 4},checkids是数组对象;在servlet中是这样的:String checkids = request.getParameter("checkids");System.out.println(checkids);输出来之后结果是这样的:1,2,3,4!我就是想问一下这是servlet里面的处理机制的作用吗?
龙飞tgbmlp 2009-04-07
  • 打赏
  • 举报
回复
$ajax是哪个JS类库里的,你在servlet中得到的数据可能是那个类库给你改的
如果servlet中通过request获得数据,那用request.getParameter("url中的名字"),它返回一个字符串数组,你可以自己再做处理

假设GET的URL=http://localhost/xxx/xxxServlet?aaa=1&aaa=2&aaa=3&aaa=4
在xxxServlet中doGet方法中使用request.getParameter("aaa")会得到一个1 2 3 4 的字符串数组

81,077

社区成员

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

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