java - Spring MVC: Fallback for unknown language code in uri parameter value -


im trying build first spring mvc 4 app i18n support , thinking how can use default/fallback locale in case of user manipulating language uri parameter non existing or supported locale example http://localhost.de?lang=abc

im using code

@bean public localeresolver localeresolver() {     sessionlocaleresolver sessionlocaleresolver = new sessionlocaleresolver();     sessionlocaleresolver.setdefaultlocale(locale.german);     return sessionlocaleresolver; } 

which works in general if open url first time seems not work case describing. know there mechanism use default messages properties file set default/fallback locale case. need implement maybe custom filter?

my suggestion subclass sessionlocaleresolver , override getlocale method:

@springbootapplication public class demoapplication {      public static void main(string[] args) {         springapplication.run(demoapplication.class, args);     }      private static set<locale> allowedlocales;      static {         hashset<locale> allowed = new hashset<>();         allowed.add(locale.german);         allowed.add(locale.canada);         allowedlocales = collections.unmodifiableset(allowed);      }      @bean     localeresolver localeresolver() {         return new limitedsessionlocaleresolver();     }      class limitedsessionlocaleresolver extends sessionlocaleresolver {         @override         public locale resolvelocale(httpservletrequest request) {             locale locale = super.resolvelocale(request);             if (!allowedlocales.contains(locale)) {                 return determinedefaultlocale(request);             }             return locale;         }     } } 

this not modify spring classes in major way , going work without issues foreseeable future.


Comments

Popular posts from this blog

javascript - Google App Script ContentService downloadAsFile not working -

javascript - Function overwritting -

php - Find a regex to take part of Email -