在servlet中检索ajax发布的值?

时间:2013-08-12 18:25:29

标签: jquery ajax html5

var schedule = [];

var data = { 
   'user_id' : '12', 
   'day_of_week' : 'Monday',
    'when' : 'start',
    'modified' : 'true'
 }

schedule.push(data);
var data = { 
   'user_id' : '13', 
   'day_of_week' : 'Tuesday',
    'when' : 'end',
    'modified' : 'false'
 }
schedule.push(data);
// schedule would have two objects in it

我使用jquery ajax post请求将数组发布到servlet,如下所示。

data :  {'myData':schedule},
url :"./myController",

现在我如何获取对象数组并识别以获取所有值?每个数组对象都有string,long和boolean类型的值。如何通过迭代获得所有值?

1 个答案:

答案 0 :(得分:0)

一种策略是使用JSON来回传递这种数据服务器和客户端。

在客户端,使用stringify函数将schedule数组转换为JSON字符串。通过AJAX发送:

e.g。

var jsonData = JSON.stringify(schedule);

您的AJAX对象将执行以下操作:

$.ajax({
  url: "./myController",
  data: {'schedules':jsonData}
});

现在在服务器端使用像谷歌的GSON库这样的JSON解析器。

在您的servlet中执行以下操作:

String jsonData = request.getParamater("schedules");

使用GSON解析它

Gson gson = new Gson();
List<Schedule> schedules = gson.parseJson(jsonData, List<Schedule>.toClass());

您可以创建一个将JavaScript对象映射到Java对象的计划类

我可以提供更好的代码,如果感兴趣的话会进行测试......我目前无法访问IDE ...但是我希望你能有一个大致的想法