Maison > Java > javaDidacticiel > le corps du texte

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

Mary-Kate Olsen
Libérer: 2024-11-15 13:32:03
original
343 Les gens l'ont consulté

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"
}
Copier après la connexion

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"
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal