spring boot国际化,spring国际化配置文件

  spring boot国际化,spring国际化配置文件

  

目录

前言方法如下总结

 

  

前言

前一段时间做了一个项目,需要解决中文、繁体、英文的国际化问题,所以本文将详细介绍跳羚页面国际化配置的过程

 

  

方法如下

1.引入依赖pom.xml

 

  依赖关系groupIdorg.springframework.boot/groupId artifact id spring-boot-starter-web/artifact id/依赖关系依赖关系groupIdorg.springframework.boot/groupId工艺品弹簧靴起动器百里香叶/artifactId /dependency2 .导入网页资源,这里给大家推荐一个我自己在使用的页面资源,小型企业管理-2

  超文本标记语言页面放在模板目录下,这是百里香叶默认的解析目录,其他的样式文件放在静电目录下

  3.接管春天Mvc,自定义全球资源定位器(统一资源定位器)访问路径,可做可不做

  建一个配置目录,在这里建一个myWebMvcConfig

  导入org。spring框架。语境。注释。豆;导入org。spring框架。语境。注释。配置;导入org。spring框架。网络。servlet。区域设置求解器;导入组织。spring框架。网络。servlet。配置。注释。viewcontrollerregistry导入org。spring框架。网络。servlet。配置。注释。webmvc配置器;@配置公共类myWebMvcConfig实现WebMvcConfigurer { @ Override public void addview controllers(ViewControllerRegistry){ registry。addview控制器(/wq ).set viewname(" register ");//localhost :8080/wq注册表。添加视图控制器(“/”).set viewname(" register ");//localhpst :8080/registry。addview控制器(/register。html’).set viewname(" register ");//本地主机:8080/register。html } }路径可以设置多个,这样只要是这三个url,spring都会访问register.html

  还有一种方式也能实现

  导入org。spring框架。刻板印象。控制器;导入org。spring框架。网络。绑定。注释。请求映射;@ controller公共类demo controller { @ request mapping({ /,/wq })公共字符串test(){ return register ;}}4.国际化配置文件:美国英文,中国中文

  点击左上角加号,便可以添加配置的属性,只要在右边填写相应的中英文即可

  5.配置文件已经写好,如何在我们的页面中使用呢?百里香叶的作用又来了

  首先在你的网页添加这样的头部

  html lang= en xmlns : th= http://www。百里香叶。组织

  p>在所有的html属性前加**th:**就被thymeleaf接管了,根据thymeleaf 语法,获取国际化值使用**#{}**,本地值用**${}**,url用**@{}**

  

   <a  th:href="@{/register.html(l=zh_CN)}" rel="external nofollow"  >中文 </a>  <a  th:href="@{/register.html(l=en_US)}" rel="external nofollow" >English </a>

6. 页面和配置文件都准备好了,怎样实现跳转呢?

 

  在WebMvcAutoConfiguration.class中

  

              @Bean             @ConditionalOnMissingBean(                 name = {"localeResolver"}             )             public LocaleResolver localeResolver() {                 if (this.webProperties.getLocaleResolver() == org.springframework.boot.autoconfigure.web.WebProperties.LocaleResolver.FIXED) {                     return new FixedLocaleResolver(this.webProperties.getLocale());                 } else {                     AcceptHeaderLocaleResolver localeResolver = new AcceptHeaderLocaleResolver();                     localeResolver.setDefaultLocale(this.webProperties.getLocale());                     return localeResolver;                 }             }

我们再找到AcceptHeaderLocaleResolver.class,发现它实现了LocaleResolver

 

  

     public class AcceptHeaderLocaleResolver implements LocaleResolver {         private final List<Locale> supportedLocales = new ArrayList(4);         @Nullable         private Locale defaultLocale;

那我们就编写自己的LocaleResolver

 

  

     public class myLocaleResolver implements LocaleResolver {         @Override         public Locale resolveLocale(HttpServletRequest request) {                  String mylocale=request.getParameter("l");             Locale locale=Locale.getDefault();             if(!StringUtils.isEmpty(mylocale)){                 String[] split=mylocale.split("_");                 locale=new Locale(split[0],split[1]);             }              System.out.println("debug====>"+mylocale);             return locale;         }              @Override         public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {              }     }

然后在spring配置中注入myLocaleResolver

 

  

     @Bean     public LocaleResolver localeResolver(){         return new myLocaleResolver();          }

**注意:方法名必须是localeResolver**,**因为源码中名字为localeResolver的bean**

 

  

 

  7. 最后我们来测试一下

  

 

  

 

  

 

  而且控制台输出也没问题

  

 

  

总结

到此这篇关于springboot页面国际化配置的文章就介绍到这了,更多相关springboot页面国际化内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!

 

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • spring编程式事务处理,spring编程事务
  • spring编程式事务处理,spring编程事务,详解Spring学习之编程式事务管理
  • spring的核心功能模块有几个,列举一些重要的spring模块
  • spring的核心功能模块有几个,列举一些重要的spring模块,七个Spring核心模块详解
  • spring注解和springmvc的注解,SpringMVC常用注解
  • spring注解和springmvc的注解,SpringMVC常用注解,详解springmvc常用5种注解
  • spring实现ioc的四种方法,spring的ioc的三种实现方式
  • spring实现ioc的四种方法,spring的ioc的三种实现方式,简单实现Spring的IOC原理详解
  • spring事务失效问题分析及解决方案怎么做,spring 事务失效情况
  • spring事务失效问题分析及解决方案怎么做,spring 事务失效情况,Spring事务失效问题分析及解决方案
  • spring5.0新特性,spring4新特性
  • spring5.0新特性,spring4新特性,spring5新特性全面介绍
  • spring ioc以及aop原理,springmvc aop原理
  • spring ioc以及aop原理,springmvc aop原理,深入浅析Spring 的aop实现原理
  • Spring cloud网关,spring cloud zuul作用
  • 留言与评论(共有 条评论)
       
    验证码: