zoukankan      html  css  js  c++  java
  • Spring的国际化资源messageSource

    Spring中可以使用两个类加载资源文件:ReloadableResourceBundleMessageSource和ResourceBundleMessageSource。

    可配置如下messageSource这个bean id不能变:

        @Bean
        public MessageSource messageSource() {
            ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
            messageSource.setBasename("classpath:messages");
            messageSource.setCacheSeconds(10); //reload messages every 10 seconds
            messageSource.setDefaultEncoding("UTF-8");
            messageSource.setUseCodeAsDefaultMessage(true);
            return messageSource;
        }

    或者xml

    <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
      <property name="basenames">
        <list>
          <value>resources/messages</value>
        </list>
      </property>
    </bean>

    Spring提供了一个接口MessageSource用于获取国际化信息,ReloadableResourceBundleMessageSource和ResourceBundleMessageSource都是继承了该接口的一个抽象实现类AbstractMessageSource,继承该抽象类的有四个类,分别是:

    StaticMessageSource  主要用于测试环境,并不用于生产环境
    SpringSecurityMessageSource  用于Spring security的国际化信息
    ReloadableResourceBundleMessageSource  可以在不用重新启动服务器的情况下,读取更改后的资源文件
    ResourceBundleMessageSource  用于生产环境

    用法示例:

    public class MessageSourceTest extends TestCase {
        public void testResourceBundleMessageSource(){
            MessageSource messageSource=new ClassPathXmlApplicationContext("applicationcontext.xml");
            String username_us=messageSource.getMessage("userName_lable",new Object[1],Locale.US);
            String username_chinese=messageSource.getMessage("userName_lable",new Object[0],Locale.CHINESE);
            System.out.println("chinese:"+username_chinese);
            System.out.println("english:"+username_us);
        }
    }

    chinese:用户名
    english:userName

  • 相关阅读:
    char , varchar和Nvarchar区别
    练习2-11 计算分段函数[2] (10 分)
    练习2-10 计算分段函数[1] (10 分)
    练习2-9 整数四则运算 (10 分)
    练习2-8 计算摄氏温度 (10 分)
    练习2-6 计算物体自由下落的距离 (5 分)
    练习2-4 温度转换 (5 分)
    练习2-3 输出倒三角图案 (5 分)
    MySQL之Xtrabackup备份与恢复
    MySQL中show语法
  • 原文地址:https://www.cnblogs.com/wade-luffy/p/6073391.html
Copyright © 2011-2022 走看看