AcceptHeaderLocaleResolver

AcceptHeaderLocaleResolver

我已经在Spring配置文件中将“ localeResolver” bean定义为

<bean id="localeResolver" class="org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver">
    <property name="defaultLocale" value="language" />
</bean>


用户点击此URL更改语言环境/setLocale.do?language=fr
但是在调用此方法之前,我得到了异常java.lang.UnsupportedOperationException:。为了解决它,我必须使用SessionLocaleResolver

无论如何,我不必使用SessionLocaleResolver

最佳答案

看一下AcceptHeaderLocaleResolver的实现,再仔细考虑一下它的名称。

https://github.com/bbossgroups/bbossgroups-3.5/blob/master/bboss-mvc/src/org/frameworkset/web/servlet/i18n/AcceptHeaderLocaleResolver.java


注意:不支持setLocale,因为只能通过更改客户端的语言环境设置来更改accept标头。


AcceptHeaderLocaleResolver将从请求中解析Locale(使用accept标头),仅此而已。无法将其locale属性设置为任何其他值。如果您需要更改语言环境,请使用SessionLocaleResolver。如果现有的解析器不适合您的目标,总是可以选择编写自己的解析器。

09-25 19:29