spring之消息国际化

2019-06-20  本文已影响0人  xzz4632

MessageSource

由于ApplicationContext继承了MessageSource接口, 所以容器也具备了相应的功能.

所谓国际化, 就是根据不同的国家或地区, 用与之相对应的语言来输出消息.即在中国则输出汉字描述的信息, 在英国, 则输出英文描述的消息.

MessageSource接口中定义的方法

实现方式

a. 声明MessageSource bean
<beans>
    <bean id="messageSource"
            class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basenames">
            <list>
                <value>format</value>
                <value>exceptions</value>
                <value>windows</value>
            </list>
        </property>
    </bean>
</beans>

MessageSource配置说明:

b. 创建相应的properties文件

文件名要根据不同的地区添加相应的后缀, 如format文件, 对应中国(china), 则为format_zh_CN, 对应英国(english), 则为format_en.
文件中的key即为getMessage方法中的code参数. 在value中可用{index}(从0开始)引用getMessage方法中的args参数.

c. 使用

在用到的类中注入MessageSource, 调用其getMessage方法获取相应文件中定义的code对应的value.

上一篇下一篇

猜你喜欢

热点阅读