zoukankan      html  css  js  c++  java
  • springboot配置i18n

    springMvc下,配置i18n:

    1.配置ResourceBundleMessageSource管理国际化资源文件

    2.在页面使用fmt标签取出国际化内容

    springBoot下,自动配置了i18n:

    1.新建目录,存放login_zh_CN.properties (基础名_zh_CN.properties)对应中文编码

     login_en_US.properties对应英文

     login.properties对应默认

     idea会自动转成resource bundle层级,可以打开相关界面(底部中间),设置k-v

    2.配置spring.messages.basename

    springBoot默认配置basename为messages,读取根目录下的messages.properties

    这里设置spring.messages.basename = il8n.login

    3.页面集成thymeleaf,使用#{login.btn},获取国际化的内容

    4.制定自己的LocaleResolver  //Locale为区域信息对象

      自动配置的LocaleResolver默认读取请求头中的的地区信息,来切换国际化内容

      现在想通过点击  中文/Enlish  按钮来切换,并且默认读取请求头来切换:

    //通过按钮绑定url地址,追加参数L=zh_CN  或者L=en_US来实现

    public class MyLocaleResolver implements LocaleResolver {
    @Override
    public Locale resolveLocale(HttpServletRequest request) {
    String l = request.getParameter("L");
    Locale locale = Locale.getDefault();//使用默认配置
    if(!StringUtils.isEmpty(l)){
    String[] split = l.split("_");
    locale = new Locale(split[0],split[1]);//  new Locale(语言,国家)
    }
    return locale;
    }
    @Override
    public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale
    locale) {
    }
    }
    @Bean
    public LocaleResolver localeResolver(){ return new MyLocaleResolver(); } }
  • 相关阅读:
    disconf使用小结
    关于spring aop Advisor排序问题
    关于tomcat WEB-INF/lib下类加载顺序
    Netty5客户端源码解析
    巧用命令行工具 redis-cli
    redis学习总结
    聊聊Redis的持久化
    Git管理代码
    RabbitMQ连接池、生产者、消费者实例
    java处理节假日和工作时间的工具类
  • 原文地址:https://www.cnblogs.com/brxHqs/p/10267793.html
Copyright © 2011-2022 走看看