springboot国际化配置

本文介绍了如何在SpringBoot中进行国际化配置,包括创建messages_zh_cn.properties和messages_en.properties文件来分别处理中文和英文内容,以及使用native2ascii命令将属性文件转换为Unicode编码。同时提到了在转换过程中防止中文乱码的方法,即使用UTF-8编码对messages.properties进行转码并保存到对应的目标文件。最后,文章还提及了建立获取message的方法。

messages_zh_cn.properties中文配置文件

messages_en.properties英文配置文件

messages.properties默认配置文件

对于中文的属性文件,我们编写好后,应该使用jdk提供的native2ascii命令把文件转换为unicode编码的文件。命令的使用方式如下: 
native2ascii  源文件.properties  目标文件.properties (有时间报:java.lang.Exception: 无法读取messages.)1.对下文件名保持正确;2.换到E盘或D盘根目录,cmd到根目录执行就好了

为了防止出现中文乱码:用utf-8对messages.properties进行转码,转码后保存到messages_zh_cn.properties文件

native2ascii -encoding UTF-8 messages.properties messages_zh_cn.properties

建立取message方法

 * Created by 飞尘 on 2017/3/20.
 */
@Configuration
public class InternationalConfig {
    @Value(value = "${spring.messages.basename}")
    private String basename;

    @Bean(name = "messageSource")
    public ResourceBundleMessageSource getMessageResource() {
        ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
        messageSource.setBasename(basename);
        return messageSource;
    }
}

/**
 * Created by 飞尘 on 2017/3/20.
 */
@Component
public class MessageUtil {

    @Autowired
    private MessageSource messageSource;

    /**
     * 根据code取message
     * @param code      * @return
     */
    public String getMessage(String code) {
        return this.getMessage(code,null);
    }
    /**
     * 根据code取message
     * @param code      * @param param 参数
     * @return
     */
    public String getMessage(String code, String[] param) {
        return messageSource.getMessage(code, param, LocaleContextHolder.getLocale());
    }

}

reset.greeting=Dear {0} {1}
可以传多参数,具体还要自己多试验



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值