Maison >Java >javaDidacticiel >Comment transmettre plusieurs variables à un contrôleur Spring MVC à l'aide d'Ajax sans objet de support ?

Comment transmettre plusieurs variables à un contrôleur Spring MVC à l'aide d'Ajax sans objet de support ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-15 13:32:03453parcourir

How to Pass Multiple Variables to a Spring MVC Controller Using Ajax Without a Backing Object?

Passer plusieurs variables à un contrôleur Spring MVC à l'aide d'Ajax

Lorsque vous utilisez @RequestBody pour transmettre plusieurs variables à un contrôleur Spring MVC, il est il n'est pas nécessaire de les envelopper dans un objet de support. Cependant, il existe des approches alternatives qui peuvent offrir plus de flexibilité ou simplifier la gestion des données JSON.

Option 1 : Utilisez une carte

Si vous n'avez pas besoin de fortement- paramètres saisis, vous pouvez utiliser un Map objet pour recevoir directement les données JSON. Cela vous permet d'accéder aux valeurs par leurs clés :

@RequestMapping(value = "/Test", method = RequestMethod.POST)
@ResponseBody
public boolean getTest(@RequestBody Map<String, String> json) {
   //json.get("str1") == "test one"
}

Cette approche ne nécessite pas d'objet de support personnalisé et peut gérer les données JSON avec des clés arbitraires.

Option 2 : Utilisez l'ObjectNode de Jackson

Pour plus de flexibilité, vous pouvez vous lier à com.fasterxml.jackson.databind.node.ObjectNode pour accéder aux données JSON sous la forme d'une arborescence JSON complète :

@RequestMapping(value = "/Test", method = RequestMethod.POST)
@ResponseBody
public boolean getTest(@RequestBody ObjectNode json) {
   //json.get("str1").asText() == "test one"
}

Cette approche vous permet de traiter dynamiquement les données JSON et d'extraire des valeurs en fonction de leur chemin JSON.

Autres considérations :

  • Si les paramètres sont fortement typés sont requis, vous pouvez créer un POJO personnalisé pour représenter la structure JSON attendue et utiliser @RequestBody pour vous y lier.
  • Pour les cas simples, utiliser @RequestParam dans la chaîne de requête ou @PathVariable dans l'URI de la requête peut être plus pratique pour transmettre des variables individuelles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn