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

  • 相关阅读:
    用Axure进行原型设计
    Axure使用——创建折叠菜单
    详解Java的自动装箱与拆箱(Autoboxing and unboxing)
    Java基本类型和引用类型
    Java中的基本类型和引用类型变量的区别
    让图片变成圆形
    安卓----Spinner
    Win10安装CAD2006
    Winform关于未找到元数据文件.exe和不包含适合于入口点的静态“Main”方法
    启用了优化或没有调试信息
  • 原文地址:https://www.cnblogs.com/wade-luffy/p/6073391.html
Copyright © 2011-2022 走看看