Comment faire pour changer la locale de l’utilisateur dans le code d’une servlet lorsque l’on utilise les tags <fmt:message /> de la JSTL pour afficher des messages ?

La solution est très simple, même si peu connue :

String language = "fr";
String country = "FR";
Locale locale = new Locale(language, country);
HttpSession session = request.getSession();
//Le code ci-dessous peut être remplacé par String attrName = javax.servlet.jsp.jstl.core.Config.FMT_LOCALE+".session";
String attrName = "javax.servlet.jsp.jstl.fmt.locale.session";
session.setAttribute(attrName, locale);

Ainsi, vous allez pouvoir changer la locale et surtout la langue de l’utilisateur dans vos applications web.

SeBDéveloppementJava EEjstlComment faire pour changer la locale de l'utilisateur dans le code d'une servlet lorsque l'on utilise les tags <fmt:message /> de la JSTL pour afficher des messages ? La solution est très simple, même si peu connue : String language = 'fr'; String country = 'FR'; Locale locale = new Locale(language, country); HttpSession session...Un blog, c'est un blog !