弹簧引导+ beetl + i18n国际化处理的方法

  

国际化(国际化)是设计和制造容易适应不同区域要求的产品的一种方式。它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素,换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产。开发这样的程序的过程,就称为国际化。
  

  

弹簧引导搭配慢慢开始火起来的beetl模板配置国际化

  

首先需要添加WebMvcConfigurer配置

     /* *   *设置拦截器   */@Override   公共空间addInterceptors (InterceptorRegistry注册表){   registry.addInterceptor (localeChangeInterceptor ());   }/* *   *国际化切换拦截器   *   * @return国际化切换拦截器   */@ bean   公共LocaleChangeInterceptor LocaleChangeInterceptor () {   LocaleChangeInterceptor拦截=new LocaleChangeInterceptor ();   interceptor.setParamName(“郎”);   返回拦截;   }/* *   *国际化处理器   *   * @return国际化处理器   */@ bean   公共LocaleResolver LocaleResolver () {   SessionLocaleResolver单反=new SessionLocaleResolver ();//设置默认区域,   slr.setDefaultLocale (Locale.CHINA);   返回单反;   }      之前      

然后自定义配置beetl

        …   @ autowired   私人WebApplicationContext wac;      @ bean   公共BeetlTemplateCustomize BeetlTemplateCustomize () {   返回新BeetlTemplateCustomize () {   公共空间定制(GroupTemplate GroupTemplate) {//注册全局共享变量   Object> Map<字符串;sharedVars=new HashMap<字符串,Object> ();   groupTemplate.setSharedVars (sharedVars);//注册国家化函数   groupTemplate。registerFunction(“国际化”,新的I18nFunction (wac));   }   };   }      之前      

然后配置i18n国际化函数

        公共类I18nFunction实现函数{      私人WebApplicationContext wac;      公共I18nFunction (WebApplicationContext wac) {   这一点。wac=wac;   }      @Override   公共对象调用(Object [] obj,上下文语境){   HttpServletRequest请求=(HttpServletRequest) context.getGlobal (WebVariable.REQUEST);   RequestContext RequestContext=new RequestContext对象(请求);   字符串消息=requestContext.getMessage ((String) obj [0]);   返回消息;   }      }      之前      

最后配置资源文件
  

  

春天引导+ beetl + i18n国际化处理的方法

  

这个资源文件路径也是配出来的,不多介绍了…

  

<强>测试:
  

  

在模板中添加$ {i18n (messageCode)},在url参数中添加lang=en或者lang=应用
  

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

弹簧引导+ beetl + i18n国际化处理的方法