SpringMVC语言环境没有';t开关语言
我面临着SpringMVC中语言环境变化的问题。当我打开新语言(如fr)时,浏览器上会显示参数名称。但是,它不会改变语言。我还使用${pageContext.response.locale}进行测试。它不会改变。下面是我的代码 spring-web-servlet.xmlSpringMVC语言环境没有';t开关语言,spring,spring-mvc,model-view-controller,Spring,Spring Mvc,Model View Controller,我面临着SpringMVC中语言环境变化的问题。当我打开新语言(如fr)时,浏览器上会显示参数名称。但是,它不会改变语言。我还使用${pageContext.response.locale}进行测试。它不会改变。下面是我的代码 spring-web-servlet.xml /WEB-INF/views/jsp/ .jsp 这是因为您尚未注册拦截器 <bean id="handlerMapping" class="org.springframework.web.servlet.mvc.a
/WEB-INF/views/jsp/
.jsp
这是因为您尚未注册拦截器
<bean id="handlerMapping" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<ref bean="localeChangeInterceptor" />
</property>
</bean>
由于您使用
,这个bean定义没有任何作用
您应该使用
标记来正确注册拦截器
<mvc:interceptors>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang" />
</bean>
</mvc:interceptors>
这将使用
标记配置的所有已配置的HandlerMapping
实例注册拦截器。另请参阅参考指南。这是因为您尚未注册拦截器
<bean id="handlerMapping" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<ref bean="localeChangeInterceptor" />
</property>
</bean>
由于您使用
,这个bean定义没有任何作用
您应该使用
标记来正确注册拦截器
<mvc:interceptors>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang" />
</bean>
</mvc:interceptors>
这将使用
标记配置的所有已配置的HandlerMapping
实例注册拦截器。另请参见参考指南。非常感谢。我仍在努力修复它。我确实向你登记。但是,它仍然不起作用。请确保删除了DefaultAnnotationHandlerMapping
,并将如何加载配置添加到您的问题中。我已更新了上面的Spring配置,并添加了web.xml。我在控制台上看到以下错误“创建名为“handlerMapping”的bean时出错,该bean在ServletContext资源中定义[/WEB-INF/spring WEB servlet.xml]:使用键[0]设置bean属性“interceptors”时无法解析对bean“localeChangeInterceptor”的引用;嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:未定义名为“localeChangeInterceptor”的bean”。你能建议如何解决它吗。谢谢。正如我说的大约3次,我已经删除了该bean。你不需要它。非常感谢。我仍在尝试修复它。我确实注册了。但是,它仍然不起作用。请确保你删除了DefaultAnnotationHandlerMapping
,并将如何加载配置添加到你的问题中n、 我已经更新了上面的Spring配置并添加了web.xml。我在控制台上看到以下错误“创建ServletContext资源[/web-INF/Spring web servlet.xml]中定义的名为“handlerMapping”的bean时出错]:在使用键[0]设置bean属性“interceptors”时无法解析对bean“localeChangeInterceptor”的引用;嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:未定义名为“localeChangeInterceptor”的bean”。你能建议如何解决它吗。谢谢。正如我说的大约3次那样,已经删除了该bean。你不需要它。将web.xml
添加到你的问题中。将web.xml
添加到你的问题中。