J'ai une application où l'utilisateur peut dynamiquement basculer entre les paramètres régionaux de la page d'accueil de mon application. Je vois que le développeur précédent (hérité du code sans beaucoup de documentation) a remplacé les trois méthodes suivantes de ViewHandler et me dit que cela est nécessaire pour la commutation dynamique de la Locale ... toute aide est très appréciéeChangement de paramètres régionaux dynamiques dans une application JSF?
Aussi, faites laissez-moi savoir s'il y a une meilleure façon de gérer cette
public Locale calculateLocale(FacesContext facescontext)
{
Locale userLocale = LocaleManager.getInstance().getCurrentLocale();
if (userLocale != null)
{
return userLocale;
}
else
{
return delegate.calculateLocale(facescontext);
}
}
public void renderView(FacesContext facescontext, UIViewRoot uiviewroot)
throws IOException, FacesException {
uiviewroot.setLocale(LocaleManager.getInstance().getCurrentLocale());
delegate.renderView(facescontext, uiviewroot);
}
public UIViewRoot createView(FacesContext facescontext, String s)
{
UIViewRoot view = delegate.createView(facescontext, s);
view.setLocale(LocaleManager.getInstance().getCurrentLocale());
return view;
}
Nous vous remercions de votre suggestion. On m'a dit que (après avoir publié la question) si la vue jsf était déjà créée, la vue de restauration afficherait la vue CURRENT dans les mêmes paramètres régionaux, même si les paramètres régionaux ont été modifiés ... est-ce que votre suggestion gère cela? –
La vue de restauration est une phase du cycle de vie jsf et, en tant que telle, est appelée à chaque requête. Ainsi, la prochaine requête que vous faites (après une redirection, par exemple), vous aurez votre nouvelle locale. – Bozho