RequestParam valeur de spring MVC pour être sensible à la casse
Suis l'envoi de données à partir de JSP de contrôleur à l'aide de la chaîne de requête.
Mon contrôleur est d'annotation conduit.
La valeur du paramètre de la requête doit être sensible à la casse.
La méthode que j'utilise pour la page d'accueil est
public String welcome(@RequestParam("orgID") String orgID, ModelMap model)
Le paramètre de requête "orgID" devrait être sensible à la casse. Comment faire cela ?.
Je devrais être capable de donner à la chaîne de la requête comme "orgid" ou "orgId". Le paramètre doit être complètement insensible à la casse. La recherche de votre aide les amis.
Merci d'Avance 🙂
Si ce paramètre de requête nom devait être saisies manuellement par un utilisateur, je voudrais comprendre pourquoi, ce qui serait souhaitable. Mais c'est votre propre code qui devrait générer des chaînes de requête. Pourquoi ne pas simplement respecter les attendus param name. Choisir des conventions de nommage et de s'y tenir.
En fait, de deux à trois applications externes d'accéder à cette URL. On pourrait donner à la chaîne de la requête comme "orgID", on pourrait donner comme "orgId" et une autre " on pourrait donner comme "orgid" et un autre "Orgid". Ne peut pas s'attendre à combien de demandes serait donner et en combien de modèles. Donc, je voulais avoir comme insensible à la casse 🙂
Et pourquoi pas la fixation de ces applications? Une fois que vous aurez de la casse, params, ils vont utiliser l'URL erronée. Si les développeurs de ces applications sont incapables de respecter un tel contrat, vous ne devriez pas résoudre quoi que ce soit, et ils doivent apprendre comment faire leur travail.
Je suis avec @JBNizet sur celui-ci. Une fois que vous allez en bas de la route de tenter de composer avec ce que les gens paresseux de faire, alors vous trouverez votre code est pollué par des solutions de contournement. Il est préférable de former vos utilisateurs à utiliser le droit du contrat si ils veulent le droit de réponse!
En fait, de deux à trois applications externes d'accéder à cette URL. On pourrait donner à la chaîne de la requête comme "orgID", on pourrait donner comme "orgId" et une autre " on pourrait donner comme "orgid" et un autre "Orgid". Ne peut pas s'attendre à combien de demandes serait donner et en combien de modèles. Donc, je voulais avoir comme insensible à la casse 🙂
Et pourquoi pas la fixation de ces applications? Une fois que vous aurez de la casse, params, ils vont utiliser l'URL erronée. Si les développeurs de ces applications sont incapables de respecter un tel contrat, vous ne devriez pas résoudre quoi que ce soit, et ils doivent apprendre comment faire leur travail.
Je suis avec @JBNizet sur celui-ci. Une fois que vous allez en bas de la route de tenter de composer avec ce que les gens paresseux de faire, alors vous trouverez votre code est pollué par des solutions de contournement. Il est préférable de former vos utilisateurs à utiliser le droit du contrat si ils veulent le droit de réponse!
OriginalL'auteur Arun | 2012-01-19
Vous devez vous connecter pour publier un commentaire.
Il existe une solution simple.Vous pouvez le commander directement sur le HttpServletRequest et l'utilisation de la méthode getParameter() et vérifier toutes les versions de paramètre.
OriginalL'auteur randomPerson
Vous aurez à essayer de changer de guerre Printemps correspond à votre url . Vous pourriez par un, créer un filtre (probablement un DelegatingFilterProxyBean) à la baisse des cas de ce paramètre avant de le transmettre au Printemps ou essayez de changer la façon dont les chemins sont appariés .
Une explication sur les options de seconde est donnée à Comment puis-je avoir de la casse URL dans Spring MVC avec annoté mappages .
yup . Je suppose que le chemin va inclure le paramètre . D'autre que vous peut-être en minuscules à l'aide d'un filtre ou quelque chose .
J'ai essayé en tant que conseillé dans ce lien. Mais il ne comprend que le chemin d'accès et non le paramètre :-(. Devez regarder pour someother option maintenant 🙁
Le filtre approche fonctionne très bien (merci pour les conseils ici!). Voici mon article avec la configuration et le code - acooke.org/cute/Forcinglow0.html
OriginalL'auteur Aravind A
Une autre approche serait d'avoir deux paramètres "orgId" et "orgid" et ont l'option.
Mais si vous avez le contrôle sur tous les paramètres je préfère largement avoir juste une manière cohérente, disons org-id et de le suivre à la fois du client et du côté serveur.
OriginalL'auteur Neo M Hacker
Il pourrait être sympa pour le Printemps à l'appui de cela, mais je peux aussi comprendre pourquoi ils ne voulaient pas car il pourrait en résulter un affaiblissement de l'interface de contrat entre un fournisseur et le consommateur. En attendant, voici un assez simple pour prendre la première valeur à l'aide du paramètre nom quel que soit son cas.
OriginalL'auteur beaudet
au Printemps 4.2+
OriginalL'auteur Ali Alimohammadi
La façon la plus simple que j'ai trouvé était de changer la méthode de contrôleur de prendre une Carte avec une valeur de clé unique paire en tant que paramètre, puis de convertir la clé de minuscules.
OriginalL'auteur Pat