Spring boot国际化切换
国际化切换
根据浏览器,语言设置的信息
自动的切换国际化支持
也可以根据用户选择
来切换国际化支持
Locale,表示区域信息对象
LocaleResolver,用来获取区域信息对象
自动配置
WebMvcAutoConfiguration
localeResolver
如果,配置了
就用固定的
如果,没有配置
就使用AcceptHeaderLocaleResolver
AcceptHeaderLocaleResolver
resolveLocale
解析区域信息
解析方式,从request请求头中,获取区域信息
默认,就是根据请求头
带来的区域信息,获取Locale进行国际化
点击连接,实现切换国际化
可以更换掉,区域信息解析器
使用自定义的区域信息解析器
不使用默认的
实现方式
可以在连接上携带,区域信息
<button class="btn btn-lg btn-primary btn-block" type="submit" th:text="#{login.btn}">Sign in</button>
<p class="mt-5 mb-3 text-muted">© 2017-2018</p>
<a class="btn btn-sm" th:href="@{/index.html(l='zh_CN')}">中文</a>
<a class="btn btn-sm" th:href="@{/index.html(l='en_US')}">English</a>
区域信息解析器
MyLocaleResolver
判断参数l的值,是否为空
如果,为空
使用系统默认的区域信息解析器
如果,不为空
获取区域信息,语言代码+国家代码
使用自定义的区域信息解析器
package com.atguigu.springboot.component;import org.springframework.util.StringUtils;
import org.springframework.web.servlet.LocaleResolver;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Locale;/*** 可以在连接上携带区域信息*/
public class MyLocaleResolver implements LocaleResolver {@Overridepublic 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]);}return locale;}@Overridepublic void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {}
}
添加到容器
默认的解析器
根据@ConditionalOnMissingBean
检查已经存在区域信息解析器
就不再创建,默认的解析器
//使用WebMvcConfigurerAdapter可以来扩展SpringMVC的功能
//@EnableWebMvc 全面接管SpringMVC
@Configuration
public class MyMvcConfig extends WebMvcConfigurerAdapter {@Beanpublic LocaleResolver localeResolver() {return new MyLocaleResolver();}}
Spring boot国际化切换相关推荐
- Spring Boot国际化支持
文章目录 添加Maven支持 LocaleResolver LocaleChangeInterceptor 定义Message Sources Controller文件 html文件 运行应用程序 S ...
- 玩转spring boot——国际化
前言 在项目开发中,可能遇到国际化的问题,而支持国际化却是一件很头疼的事.但spring boot给出了一个非常理想和方便的方案. 一.准备工作 pom.xml: <?xml version=& ...
- spring boot 动态切换数据源实现多租户开发
之前的文章有介绍过spring boot 动态切换数据源spring boot 动态切换数据源(数据源信息从数据库中读取)_lgq2016的博客-CSDN博客,今天简单介绍一下动态数据源切换实战,主要 ...
- Spring boot国际化
国际化 根据浏览器,语言设置的信息 自动切换国际化支持 Spring MVC实现过程 1.编写国际化配置文件 2.使用ResourceBundleMessageSource管理国际化资源文件 3.在页 ...
- Spring Boot国际化(i18n)
国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素.换言之,应用程序的功能和代码设计考虑在不 ...
- spring boot 国际化
国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素.换言之,应用程序的功能和代码设计考虑在不 ...
- spring boot 动态切换数据源(数据源信息从数据库中读取)
项目要求从多个源库(oracle,haha,pg)里面读取schema,table,字段等信息,spring提供了AbstractRoutingDataSource类实现动态数据源,下面就简单介绍一下 ...
- Spring Boot——国际化
- Spring boot实现国际化
Spring boot国际化支持 当我们web项目涉及到国外部署或者国外用户使用时,需要展示不同语言信息,所以就需要国际化支持,下面将讲解Springboot国际化支持操作 1. 修改Springbo ...
最新文章
- Java内存模型与线程
- android monkey原理_Monkey与Appium的使用
- matplotlib模块学习
- 如何高效的学习掌握新技术
- POPUP_GET_VALUES_DB_CHECKED’
- 零基础学Python-爬虫-2、scrapy框架(测试案例篇·技术点在后面文章内讲解)【测试将一篇小说的所有访问路径与标题存储到一个文件下】
- Python笔记(6)-输入输出
- The Zen of Python
- 使用sstableloader恢复Cassandra Priam备份
- Win11任务栏一直转圈圈的解决方法
- oracle 触发器写法|oracle trigger 语法
- 为啥这个月流量,感觉跑得特别快
- 图书管理系统(个人)
- 海康监控摄像头能做视频直播那些事!
- 深入理解机械系统的模态与振动
- SAP 会计科目表并存时会计科目映射
- 计算机没有管理无线网络,电脑连接无线网络时,提示你没有首选无线网络怎么办...
- wordpress文章页面添加字体增大减小链接
- 功不唐捐——高兴的一天
- 华为云服务器销售话术技巧,云服务器销售话术
热门文章
- 非常复杂,上双11数据大屏背后的秘密:大规模流式增量计算及应用
- C语言中类型使用的问题
- Leetcode4-寻找两个正序数组的中位数原理及代码实现
- C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式类和输入序列类型
- Docker (3)核心概念
- 跨链(5)“蚂蚁区块链”之跨链系统框架
- C++ Primer 5th笔记(9)chapter9 顺序容器 vector 容器的自增长 容器适配器
- 《研磨设计模式》chap3 外观模式Facade
- 汉字输入练习 TypeChinese.java
- 基于Kubernetes1.20.1版本开发调试环境搭建