java国际化自定义MessageSource

本文仅是自定义MessageSource类提供参考,不多说,直接上代码

package com.internationalization.demo.common;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.MessageSourceResolvable;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;

/**
 * @Author: Gaoyp
 * @Description:
 * @Date: Create in 下午2:30 2018/3/19
 * @Modified By:
 */
@Component
public class MyMessageSource {

    @Autowired
    private MessageSource messageSource;

    public String getMessage(String code){

        Locale locale = LocaleContextHolder.getLocale();
        return messageSource.getMessage(code,null,locale);

    }


    /**
     *
     * @param arr properties中key的数组
     * @return list value列表
     */
    public List<String> getMessages(String[] arr){ 
        List<String> list = new ArrayList<>();
        Arrays.asList(arr).stream().forEach(code -> {
            String message = getMessage(code);
            list.add(message);
        });

        return list;
    }

}

经验分享 程序员 微信小程序 职场和发展