Maison > Java > javaDidacticiel > Comment puis-je empêcher la troncature des variables de chemin dans Spring MVC ?

Comment puis-je empêcher la troncature des variables de chemin dans Spring MVC ?

Susan Sarandon
Libérer: 2024-11-01 03:16:02
original
1090 Les gens l'ont consulté

How do I Prevent Path Variables from Truncating in Spring MVC?

Variables de chemin tronqué dans Spring MVC

Lors de l'utilisation de variables de chemin dans Spring MVC, il est possible de rencontrer une situation où des caractères spéciaux dans la variable le faire tronquer. Cela peut entraîner des résultats et des erreurs inattendus.

Problème :

Dans le contrôleur fourni, le @PathVariable blahName est tronqué lors de l'accès aux URL contenant des caractères spéciaux. Par exemple, un chemin tel que "get/blah2010.08.19-02:25:47" entraînerait la définition de blahName sur "blah2010.08".

Raison :

Par défaut, Spring MVC s'attend à ce que les variables de chemin suivent un format spécifique, et les caractères tels que les points et les tirets sont souvent interprétés comme des délimiteurs. Cela provoque la troncature de la variable au point où un tel caractère est rencontré.

Solution :

Pour éviter la troncature, vous pouvez utiliser une expression régulière dans le @ Argument de requêteMapping. Cela vous permet de spécifier un modèle plus flexible pour la variable de chemin. Par exemple, l'expression régulière suivante autoriserait n'importe quel caractère dans la variable blahName :

@RequestMapping(method = RequestMethod.GET, value = Routes.BLAH_GET + "/{blahName:.+}")
Copier après la connexion

En ajoutant le :. au @PathVariable, vous permettez au modèle de correspondre à n'importe quel caractère une ou plusieurs fois. Cela garantit que l'intégralité de la variable de chemin est capturée, quels que soient les caractères spéciaux qu'elle peut contenir.

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