Ich habe i18n in meiner Spring MVC App (localeInterceptor etc) konfiguriert.Spring mvc Standardgebietsschema von Anfrage erhalten, wenn das Gebietsschema ungültig ist
Zwei Sprachen unterstützt (en & pl). PL ist standardmäßig eins. I18n funktioniert natürlich.
Mein Fall ist, das aktuelle Gebietsschema zu erhalten und es an das Modell zu übergeben. Das ist einfach, aber wenn ich ein ungültiges Gebietsschema-Argument übergebe (wie localhost: 8080 /? Language = asd) bekomme ich "asd" statt "pl", was standardmäßig ist.
Es ist erwähnenswert, dass ganze i18n perfekt funktioniert, ich meine, messages_pl.properties werden in diesem Fall verwendet. Ich habe versucht, folgende Methoden ohne Erfolg:
@RequestMapping(...)
public String home(Locale locale,..)
localeResolver.resolveLocale(request);
RequestContextUtils.getLocale(request);
LocaleContextHolder.getLocale();
davon jeder gibt mir ein „asd“ statt „pl“.
Atm ich ein bisschen chaotisch Abhilfe haben:
if (!supportedLocaleService.isLocaleSupported(locale)) {//myservice
locale = new Locale("pl");
}
ja, dass eine richtige Lösung zu sein scheint. Aber ich dachte, dass Frühling es für Standard tut, weil es passende Eigenschaftendatei wählt (Standard eine), wenn Gebietsschema ungültig ist. – Rotek