Globals.LOCALE_KEY
La question se pose souvent : comment fait-on dans un bean pour avoir une validation internationnalisée ?
La réponse est moins évidente que dans une Action où la méthode getLocale() renvoie
directement l'objet représentant la langue de l'utilisateur. En passant, un java.lang.Locale est un
objet stockant 3 informations : la langue, le pays et la variante. Rien de bien compliqué, sauf que dans les
technologies qui nous intéressent, c'est bien ici les préférences de l'utilisateur (celui qui est devant son
navigateur) et non pas celles du serveur qui sont à considérer.
Bon ! dans une méthode validate(...), vous l'aurez remarqué, point de méthode vous retournant
la fameuse Locale, il faut aller la chercher à la main. Voici donc l'extrait de code vous permettant de le faire :
import org.apache.struts.Globals
...
Locale locale = request.getSession()
.getAttribute(Globals.LOCALE_KEY);
Prévoyez la possibilité d'obtenir une référence null et donc une langue par défaut pour votre
application. Et maintenant intéressez vous au framework
Validator des Jakarta Commons, vous y trouverez
des classes réalisant les validations les plus communes.

