前言
国际化功能在开发产品过程中是不可缺少的,实现国际化的功能也有非常多种方式,例如基于Session的、基于Cookie的还有基于浏览器语言的等。如果你的项目使用了SpringMVC的话那么可以采用SpringMVC提供的基于浏览器语言的国际化实现。
配置
具体操作还是比较简单的就需要配置两个内容即可,一个是Spring配置文件,一个是国际化资源文件。只要配置好这两个就可以根据浏览器语言不同现实不同语言的资源信息了。
首先配置Spring配置文件
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="message-resources" />
</bean>
这里需要注意的是message-resources的value值是国际化默认文件。也就是说如果项目中没有配置浏览器语言相对应的国际化文件就会以此资源文件进行显示。
下面配置资源文件
在项目中的源文件夹的resources中添加message-resources.properties、message-resources_zh_CN.properties、message-resources_en_US.properties三个文件。
其中message-resources.properties、message-resources_zh_CN.properties填写中文,message-resources_en_US.properties填写英文。
以金钱和日期为例,在message-resources.properties、message-resources_zh_CN.properties文件中填写两个词语的中文;在message-resources_en_US.properties文件中填写两个词语的英文。
接下来就是写显示文件,注意两点:
第一点是引入%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %
第二点就是使用国际化语法为:<fmt:message key="ssf.system.title" />
运行
最后就是运行测试:
更改浏览器语言顺序,刷新页面:
注意如果没有正常显示英文,那可以将浏览器缓存清除掉,之后再重新打开浏览器进行验证。
结论
基于浏览器的SpringMVC国际化功能就配置成功了,还是比较简单的,如果读者想学习一下session和cookie配置的,那可以自行上网找一些资料学习一下。