如何通过ajax将类型对象的元素发送到servlet? 在ajax中,我传递的值如下:
data: { mapList : mapLists }
要获取Servlet中的值,请执行以下操作:
Object o = request.getAttribute("mapList");
System.out.println(o);
但是,返回的值始终为 null 。我该怎么做才能解决这个问题?
答案 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对象,也可以手动将其序列化。