我在Pluralsight上关注Spring mvc课程,我有"无法更改HTTP接受标头 - 使用不同的区域设置解析策略"运行我的应用程序时出现此错误 在此之前,我将theese beans添加到servlet-config.xml
<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" p:paramName="language" />
</mvc:interceptors>
<bean id="localResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" p:defaultLocale="en" />
在资源文件夹中,我有两个文件。 messages_es.properties和messages.properties。一个人有goal.text=Minutos Ejercicio para el día de hoy:
和其他goal.text=Minutes Exercise For The Day Today:
所以目标是选择语言。
在jsp文件中我有关于它的这一行
Language : <a href="?language=en">English</a> | <a href="?language=es">Spanish </a>
那么我怎样才能使它正常工作?
答案 0 :(得分:20)
将bean id从“localResolver”更改为“localeResolver”
答案 1 :(得分:4)
我通过使用此处提供的解决方案将方法命名为localeResolver来解决此问题Spring 4 i18n & l10n (Cannot change HTTP accept header)
@Bean
public LocaleResolver localeResolver()
{
final SessionLocaleResolver localeResolver = new SessionLocaleResolver();
localeResolver.setDefaultLocale(new Locale("en", "US"));
return localeResolver;
}
答案 2 :(得分:0)
我通过更改基本名称解决了这个问题。
我有两个消息文件:messages_en_US.properties,messages_zh_CN.properties。
基本名称应为“消息”。
以便spring可以检测参数是en_US还是zh_CN。