如何通过Ajax将Object发送到Servlet

时间:2013-02-13 16:47:44

标签: ajax object servlets

如何通过ajax将类型对象的元素发送到servlet? 在ajax中,我传递的值如下:

data: { mapList : mapLists }

要获取Servlet中的值,请执行以下操作:

Object o = request.getAttribute("mapList");
System.out.println(o);

但是,返回的值始终为 null 。我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:0)

通过以下方式更改您的ajax数据:

data: { 'mapList' : mapLists }

答案 1 :(得分:0)

在HTTP GET或POST请求中,您只能将键/值对列表作为参数发送到服务器,因此您必须手动序列化对象以便以此格式发送其属性。

您最好使用HttpServletRequest.getParameter(String)代替HttpServletRequest.getAttribute(String)。此外,作为HTTP GET / POST参数获得的内容将始终作为String在servlet中接收。

我假设你使用jQuery发送ajax请求。我还假设你的mapLists变量是一个json对象。据我所知,jQuery不会自动将json对象转换为键/值对HTTP参数列表,因此您必须自己完成,然后在servlet中将其解析回来。您可以使用JSON.stringify()转换json对象,也可以手动将其序列化。