Передача массива из JavaScript в сервлет Java, используя Джексона - PullRequest
0 голосов
/ 08 августа 2010

Я пытаюсь передать массив из JavaScript в сервлет Java, используя Джексона, как это можно сделать .. спасибо

Ответы [ 2 ]

2 голосов
/ 08 августа 2010

Основная идея должна быть простой:

Сервер:

doPost(HttpServletRequest req, HttpServletResponse resp)
{
  ObjectMapper mapper = new ObjectMapper();
  ArrayNode rootNode = mapper.readValue(req.getReader(), ArrayNode.class);
}

Клиент:

Использование jQuery (вы также можете сделать это с другими фреймворками или вручную). Загрузите копию json2.js , чтобы убедиться, что у вас есть JSON.stringify.

jQuery.ajax({
  type: 'POST',
  url: servletURL,
  data: JSON.stringify(jsArray),
  dataType: 'json',
  contentType: 'application/json'
});
0 голосов
/ 08 августа 2010

Для передачи массива из браузера на сервер вам не нужен Джексон.Тебе просто нужен Ajax.Например, используя jQuery, вы можете сделать это следующим образом:

$.ajax({
  url: 'your servlet url',
  data: yourArray
});

Затем на стороне сервера вы можете захотеть десериализовать JSON в JavaBean или, в вашем случае, java.util.List с использованием Jackson.Вы можете сделать это следующим образом:

ObjectMapper mapper = new ObjectMapper();
List array = mapper.readValue(jsonText, List.class);

Где jsonText содержит строковое представление yourArray, которое отправляется на сервер из браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...