HTTP-Accept-Header kann nicht geändert werden. Verwenden Sie eine andere Auflösungsstrategie für die Ländereinstellung

HTTP-Accept-Header kann nicht geändert werden. Verwenden Sie eine andere Strategie für die Auflösung des Gebietsschemas

Problem

In der Spring MVC-Anwendung tritt beim Ändern des Gebietsschemas mit „org.springframework.web.servlet.i18n.LocaleChangeInterceptor“ der folgende Fehler auf

java.lang.UnsupportedOperationException:
     Cannot change HTTP accept header - use a different locale resolution strategy
     ...AcceptHeaderLocaleResolver.setLocale(AcceptHeaderLocaleResolver.java:45)

Lösung

Wenn Sie in der Spring MVC-Anwendung den LocaleResolver des Spring nicht konfigurieren, werden die StandardwerteAcceptHeaderLocaleResolververwendet, mit denen das Gebietsschema nicht geändert werden kann. Um dies zu lösen, deklarieren Sie eineSessionLocaleResolver-Bean in der Spring-Bean-Konfigurationsdatei. In den meisten Fällen sollte sie geeignet sein.