我有非常标准的配置,我一直在编辑很多次,检查了关于 SO 的其他问题,但是通过我的最终配置,大多数人都解决了他们的问题,但对我来说没有结果。每当触发请求时:
http://localhost:8080/appName/?lang=es_MX
或者
http://localhost:8080/appName?lang=es_MX
它不能解决正确的语言环境,它只是什么都不做。
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="/WEB-INF/messages" />
</bean>
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean>
<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang" />
</bean>
</mvc:interceptors>
我知道标头的默认语言环境解析器可以正常工作,因此我的 messageResource 和 .jsp 配置也是正确的,因为我明确设置了一个浏览器以具有 es_MX 语言环境,并且它可以正确地使用 AcceptHeaderLocaleResolver 解析。
它与我的处理程序映射的定义方式有关吗?
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home( Model model, Locale locale, HttpServletRequest hr) {
String header = hr.getHeader("User-Agent");
model.addAttribute("header", header);
String contextPath = hr.getContextPath();
model.addAttribute("contextPath", contextPath);
return "index";
}
上帝我花了这么多时间在这...请帮助