Question

Im essayant de passer un tableau de javascript pour servlet java en utilisant Jackson, comment cela peut être done..thanks

Était-ce utile?

La solution

L'idée de base devrait être simple:

Serveur:

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

Client:

En utilisant jQuery (vous pouvez aussi le faire avec d'autres cadres, ou manuellement). Chargez une copie de json2.js pour vous assurer que vous avez JSON.stringify.

jQuery.ajax({
  type: 'POST',
  url: servletURL,
  data: JSON.stringify(jsArray),
  dataType: 'json',
  contentType: 'application/json'
});

Autres conseils

Pour passer le tableau à partir du navigateur vers le côté serveur que vous n'avez pas besoin Jackson. Vous avez juste besoin d'Ajax. Par exemple, en utilisant jQuery vous pouvez le faire de cette façon:

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

Ensuite, du côté du serveur, vous pouvez désérialiser le JSON dans un JavaBean ou, dans votre cas, un java.util.List en utilisant Jackson. Vous pouvez le faire de cette façon:

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

jsonText contient la représentation de chaîne de yourArray qui est envoyé au côté serveur à partir du navigateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top