Obtenir le codage de paramètre
J'ai un problème à l'aide de spring mvc et des caractères spéciaux dans une requête GET. Considérons la méthode suivante:
@RequestMapping("/update")
public Object testMethod(@RequestParam String name) throws IOException {
}
à qui j'envoie une requête GET avec un nom contenant un "ä" allemand (tréma), par exemple. Il en résulte que dans le printemps de réception "ä" parce que le navigateur de cartes "ä" à %C3%A4
.
Alors, comment puis-je obtenir la bonne chaîne codée mon contrôleur?
Merci pour votre aide!
source d'informationauteur Erik
Vous devez vous connecter pour publier un commentaire.
Quoi à ce sujet? Pourrait-il aider?
Dans votre web.xml:
com.exemple.CharacterEncodingFilter:
Vous rencontrez ce problème, parce que la requête établit une distinction entre le corps de l'encodage et de l'encodage des URI. Un CharacterEncodingFilter définit le corps de l'encodage, mais pas l'URI de l'encodage.
Vous devez définir URIEncoding="UTF-8" comme un attribut de tous les connecteurs de votre Tomcat server.xml. Voir ici: http://tomcat.apache.org/tomcat-6.0-doc/config/ajp.html
Ou, alternativement, vous pouvez définir useBodyEncodingForURI="True".
Si vous utilisez maven, tomcat plugin, il suffit d'ajouter ce paramètre:
mvn -Dmaven.tomcat.uriEncoding=UTF-8 tomcat:exécuter