- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有非常标准的配置,我不断编辑很多次,检查了其他问题,但通过我的最终配置,大多数人都解决了他们的问题,但对我来说没有结果。每当触发请求时,例如:
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>
我知道 header 的默认区域设置解析器可以工作,所以我的 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";
}
上帝啊,我花了这么多时间在这上面......请帮助
最佳答案
我通过将拦截器放入 servlet-context.xml 而不是我的其他配置中解决了这个问题。现在尝试找出为什么在 servlet-context.xml 中它可以工作而在我的专用配置中却不能,您的见解将很有值(value)! :-) 我不接受我的回答,因为它没有解释原因。请解释为什么会出现这种情况(这样我就可以测试它 - 理想情况下将拦截器放置在我的自定义配置中)。
对于任何遇到麻烦的人,请尝试以下操作:
<interceptors>
<beans:bean
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"
p:paramName="lang" />
</interceptors>
在 servlet-context.xml 中
需要命名空间:
xmlns:p="http://www.springframework.org/schema/p"
SessionLocaleResolver 似乎并不关心位置,并且也适用于我的自定义配置位置。
关于java - localeChangeInterceptor 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18606857/
我有非常标准的配置,我不断编辑很多次,检查了其他问题,但通过我的最终配置,大多数人都解决了他们的问题,但对我来说没有结果。每当触发请求时,例如: http://localhost:8080/appNa
我有一个 Spring MVC webapp 并且想这样做(示例): 请求子域 en.foo.com -> 语言应为英语 请求子域 es.foo.com -> 语言应为西类牙语 我已经使用 local
我担心传递给 LocaleChangeInterceptor.preHandle() 的参数(对象处理程序)。 当我调用 preHandle() 时,我可以传递当前的请求、响应对象。但我从哪里得到处理
我想将国际化添加到我的 Spring MVC 应用程序中。我知道这可能是一个复制问题,但我已经尝试了 stackoverflow 和谷歌的所有解决方案,但仍然无法正常工作。我会详细解释。这里是 网络.
import java.util.Locale; import org.springframework.context.MessageSource; import org.springframewor
我想将用户的语言存储在数据库中。因此,我扩展了 LocaleChangeInterceptor 并将旧的区域设置与新的区域设置进行比较。 如果发生更改,我想更新数据库中的用户属性。但身份验证对象不会
我在这个 URL http://localhost:8080/SpringExercises/admin/manageMenuDetail?id=1 上有一个页面。 我使用 Spring Locale
我是一名优秀的程序员,十分优秀!