Spring Boot系列(4)——实现国际化

〇、什么是国际化

  国际化(internationalization,简称i18n),对不同的语言环境提供一个不同的资源文件,可以笼统地理解为语言切换。

  本文以中英文切换为例。

一、添加国际化配置文件

  1.在类路径下新建国际化配置文件,当IDEA检测到我们需要做国际化处理时,会自动切换到国际化视图:

  2.注意:国际化配置文件得用.properties文件,文件名格式为 [基名]_[语言代码]_[国家代码].properties。配置文件的中文可能会出现乱码,注意设置IDEA的编码。

  在File->Settings...File Encodings中设置:

  

  3.其中,login.properties是默认显示,login_en_US是英文显示,login_zh_CN是中文显示,我们需编写每一个需要国际化显示的内容。

  4.SpringBoot项目国际化配置文件的基名默认是“message”,而图中我们的基名是i18n下的login,这就得在全局配置文件中设置这一基名:

    application.properties:spring.message.basename=i18n.login

  

二、在页面中标记

  使用thymeleaf模板引擎,则直接用 #{国际化配置} 便可。

  运行起来后,程序会根据浏览器设置的语言、地区,自动显示相应的配置。(谷歌浏览器可在 设置->高级-语言 中设置)

  

  

三、国际化如何起作用?

  1.Spring Boot中的国际化支持

    

  2.语言与地区的设置

    该组件让整个国际化配置生效,并且由容器管理该组件的生命周期

    

    

四、根据请求显示语言

  Spring Boot已经默认配置了国际化解析器组件LocaleResolver,当然我们也可以重新配置该组件,并加入到容器,以达到根据http请求切换国际化配置文件;

  1.作用流程:

    国际化解析器组件拦截每个请求->检查有无语言切换参数->若有,则使用Locale设置语言与地区。

  2.自定义国际化解析器:

    

  3.将解析器组件加入Spring Boot容器中

     

  4.请求URL

  在页面中加入以下标签,向后台提供国际化参数

1 <a class="btn btn-sm" th:href="@{/index(l=‘zh_CN‘)}">中文</a>
2 <a class="btn btn-sm" th:href="@{/index(l=‘en_US‘)}">English</a>

实际URL:http://localhost:8080/index?l=zh_CNhttp://localhost:8080/index?l=en_US

  

 

原文地址:https://www.cnblogs.com/Drajun/p/12231754.html

时间: 2024-08-29 21:56:24

Spring Boot系列(4)——实现国际化的相关文章

Java微服务实践—Spring Boot系列

Java微服务实践-Spring Boot系列网盘地址:https://pan.baidu.com/s/1aMqPO4pXLeXDHvRuze-JWw 密码: j62z备用地址(腾讯微云):https://share.weiyun.com/c74335d7e383158ee3c4aaf193d471ed 密码:r5gqsk 原文地址:http://blog.51cto.com/12218470/2088359

spring boot系列(五)spring boot 配置spring data jpa (查询方法)

接着上面spring boot系列(四)spring boot 配置spring data jpa 保存修改方法继续做查询的测试: 1 创建UserInfo实体类,代码和https://www.cnblogs.com/kxm87/p/9273555.html中的一样. 2 创建数据库操作类相当于dao层,主要创建一个接口UserRepository,继承JpaRepository接口即可.本代码中主要都是自定义方法. 使用findXX 或者countXX(这两个不用编写sql,jpa会自动生成)

Spring Boot系列——如何集成Log4j2

上篇<Spring Boot系列--日志配置>介绍了Spring Boot如何进行日志配置,日志系统用的是Spring Boot默认的LogBack. 事实上,除了使用默认的LogBack,Spring Boot还可以使用Log4j.Log42等作为自己的日志系统.今天就那Log4j2来举例,说明Spring Boot是如何集成其他日志系统的. 添加jar包依赖 上篇提到过,Spring Boot默认使用LogBack,但是我们没有看到显示依赖的jar包,其实是因为所在的jar包spring-

开发人员建议阅读:Spring Boot 架构中的国际化支持实践

pring Boot 主要通过 Maven 或 Gradle 这样的构建系统以继承方式添加依赖,同时继承了 Spring 框架中的优秀元素,减少了 Spring MVC 架构中的复杂配置,内置 Tomcat,Jetty 容器,使用 Java application 运行程序,而不是传统地把 WAR 包置于 Tomcat 等容器中运行,从而简化加速开发流程.此外,Spring Boot 学习简单.轻量级.容易扩展.基于这些优秀的特点,Spring Boot 成为了蓬勃发展的快速应用开发领域的领导者

spring boot 与 thymeleaf (1): 国际化

在thymeleaf 里面有个消息表达式: #{...} , 可以借此来实现国际化. 在我使用这个功能的时候, 碰到了一个问题, 按照 JavaEE开发的颠覆者 Spring Boot实战  上面编码的时候, 出现了以下问题, 相信很多人都碰到过. ??home.welcome_zh_CN?? 这里推荐一篇博客, 里面有解决办法. 玩转spring boot--国际化 我也想将我自己代码记录下来. 一. 目录预览 这里我并没有按照资料上所述的, 将properties文件建在 index.htm

Spring Boot系列教程八: Mybatis使用分页插件PageHelper

一.前言 上篇博客中介绍了spring boot集成mybatis的方法,基于上篇文章这里主要介绍如何使用分页插件PageHelper.在MyBatis中提供了拦截器接口,我们可以使用PageHelp最为一个插件装入到SqlSessionFactory,实现拦截器功能. 二.实现 pom.xml文件中添加依赖包 1 <dependency> 2 <groupId>com.github.pagehelper</groupId> 3 <artifactId>pa

Java Spring boot 系列目录

1. Spring boot 介绍 1. Spring boot 介绍 1. Spring boot 介绍 1. Spring boot 介绍 1. Spring boot 介绍 1. Spring boot 介绍 1. Spring boot 介绍 1. Spring boot 介绍 1. Spring boot 介绍 1. Spring boot 介绍 1. Spring boot 介绍 1. Spring boot 介绍 1. Spring boot 介绍 1. Spring boot 介

Spring Boot系列—(一)入门

前言 因为项目组需要进行微服务改造,而微服务开发中需要以Spring Boot为基础.因此需要先弄懂SpringBoot. 我们先来看看SpringBoot的背景由来,SpringBoot是什么,一个简单的SpringBoot样例工程 1.SpringBoot的背景由来 springboot是为了解决什么问题而产生的呢? 我们先来看看,在spring boot之前,作为一个java开发者要从无到有的开发一个新的web项目,我们都需要做哪些? 第一,我们创建一个java web项目,使用maven

Spring Boot系列(一) Spring Boot介绍和基础POM文件

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者. Spring Boot的特点 1. 创建独立的Spring应用程序 2. 直接嵌入Tomcat,Jetty或Undertow,无需部署WAR文件 3. 提供推荐的基础POM