I have an application in which a user can dynamically switch between locales from the welcome page of my application. I see that the previous developer (inherited the code without a lot of documentation) redefined the following three methods from ViewHandler and informed me that this is required to dynamically switch Locale ... any help is much appreciated
Also, let me know if there is a better way to handle this.
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; }
source share