国际化(国际化)是设计和制造容易适应不同区域要求的产品的一种方式。它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素,换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产。开发这样的程序的过程,就称为国际化。
弹簧引导搭配慢慢开始火起来的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]); 返回消息; } } >之前最后配置资源文件
这个资源文件路径也是配出来的,不多介绍了…
<强>测试:强>
在模板中添加$ {i18n (messageCode)},在url参数中添加lang=en或者lang=应用
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
弹簧引导+ beetl + i18n国际化处理的方法