在springmvc框架下使用国际化操作

北城余情 提交于 2020-03-06 01:41:18

使用国际化的资源文件

  • a) 在classpath下创建国际化资源文件,格式为: 基础名_语言名_国家代码.properties
  • b). 在springmvc配置文件中指定使用国际化资源文件的基础名
		<bean id="messageSource"
					class="org.springframework.context.support.ResourceBundleMessageSource">
					<property name="basename" value="基础名" />
				</bean>
  • c). 在JSP页面中可以直接使用*<fmt:message key=“资源文件中的KEY值”/>*来根据当前浏览器的设置显示对应的资源信息
    注意: 以上这中国际化资源读取形式会和自定义视图类发生冲突,导致页面加载国际化资源失效.

在Controller的业务方法中使用国际化资源
@Autowired
private ResourceBundleMessageSource messageSource;

String username=messageSource.getMessage("资源文件中的KEY值", null,业务方法locale参数);

在页面跳转过程中修改语言后在读取国际化资源

  • a) 使用SessionLocaleResolver替换默认的LocaleResolver
    在DispathServlet中查看localeResolver属性看是否配置成功.
  • b) 配置LocaleChangeInterceptor拦截器
		<mvc:interceptors>
				<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"></bean>
		</mvc:interceptors>	
  • c) 在页面上发送请求时,可以通过locale参数传递语言信息.来读取对应的国际化资源.
    ${pageContext.request.contextPath}/language2?locale=en_US
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!