`
阅读更多

在开发中涉及到国际化时,如果想通过配置多个配置文件形式,将不同语言可以再前台进行显示。那么需要用到的有LocaleResolver和LocaleChangeInterceptor。不需要一个个put,直接在前台读取就行。

 

 

springboot中大部分有默认配置所以开发起项目来非常迅速,仅对需求项做单独配置覆盖即可

spring采用的默认区域解析器是AcceptHeaderLocaleResolver,根据request header中的accept-language值来解析locale,并且是不可变的。

 

那么想要实现国际化,就要使用SessionLocaleResolver或者CookieLocaleResolver。

 

相关参考:

https://docs.stormpath.com/java/spring-boot-web/i18n.html  

http://www.iteye.com/topic/1144591

http://www.cnblogs.com/wqbill/p/5773338.html

http://blog.csdn.net/linxingliang/article/details/52350238

 

另外还需要进行定制拦截器进行拦截 :http://www.jianshu.com/p/1a54d5ae7904

 

 

@Configuration

public class WebConfiguration extends WebMvcConfigurerAdapter {

    //必须是localeChangeInterceptor,localeResolver 这两个名称

    @Bean

    public LocaleChangeInterceptor localeChangeInterceptor() {

        LocaleChangeInterceptor lci = new LocaleChangeInterceptor();

        lci.setParamName("lang");

        return lci;

    }

    

    @Bean

    public LocaleResolver localeResolver() {

        CookieLocaleResolver cl = new CookieLocaleResolver();

        cl.setCookieName(“lang”); //会像cookie中写入 key为lang的语言值, 类似lang=en这种

        return cl;

    }

    

    @Override

    public void addInterceptors(InterceptorRegistry registry) {

        registry.addInterceptor(localeChangeInterceptor());

    }

   

}

 

注册了localeChangeInterceptor 会识别url上的?lang=en这种形式的参数,并根据这个参数进行页面国际化。

 

分享到:
评论

相关推荐

    Spring Boot 国际化(i18n)配置demo.zip

    通过这个Spring Boot国际化配置的示例,你可以了解并实践如何为你的应用添加多语言支持,从而为全球用户提供更好的体验。记得根据你的实际需求调整配置,并确保资源文件的键值对与代码中的引用相匹配。此外,还可以...

    spring boot国际化 i18n

    Spring Boot的国际化(i18n)功能使得开发者可以轻松地为应用程序提供多语言支持,以便用户可以根据他们的偏好选择不同的语言界面。以下是对这个主题的详细讲解。 首先,我们需要了解i18n这个术语,它是...

    自己动手在Spring-Boot上加强国际化功能的示例

    在Spring Boot应用中加强国际化功能是一项重要的任务,特别是在服务全球用户的情况下。本示例将指导你如何在Spring Boot中自定义国际化实现,包括从文件夹中动态加载多个国际化文件、根据用户请求动态设置前端显示的...

    SpringBoot 配置国际化完整源码

    在Spring Boot应用中,配置国际化是一项重要的任务,它允许我们为不同的地区和语言提供相应的界面和文本。本项目提供了SpringBoot配置国际化的完整源码,方便开发者理解和实践。以下是关于这个主题的详细知识: ...

    Spring Boot实战派(源码)

    13. **国际化的支持** - `MessageSource`接口和`@MessageSource`注解实现多语言支持。 14. **邮件服务** - 使用JavaMailSender接口发送邮件,配置邮件服务器信息。 15. **云原生支持** - 支持Docker容器化部署...

    spring boot mybatis 国际化 拦截器

    在本文中,我们将深入探讨如何在Spring Boot应用中整合MyBatis,实现MySQL数据库连接,以及如何利用Spring MVC和拦截器来实现国际化(i18n)功能。此外,我们还将提及IIS 12作为可能的Web服务器选项。 首先,Spring...

    Nacos实现SpringBoot国际化的增强

    阅读本文之前,你应该了解过SpringBoot的国际化实现与原理,在这里简单介绍下: 1. 国际化 国际化(internationalization),又称为i18n(因为这个单词从i到n有18个英文字母,因此命名)。对于某些应用系统而言,它...

    Spring Boot Tutorial 《Spring Boot 教程》

    10. **国际化的支持**:Spring Boot通过`message.properties`文件支持多语言环境,提供了i18n功能。 本教程不仅适合初学者,也对有经验的开发者有参考价值。通过学习,你可以快速上手Spring Boot,创建高效、模块化...

    《Spring Boot企业级开发教程》配套资源.zip

    这些代码可能包括了不同场景的应用,如RESTful API设计、事务管理、AOP切面编程、邮件服务、任务调度、国际化支持等。通过阅读和修改这些代码,学习者能更深入地理解Spring Boot的工作原理和最佳实践。 总的来说,...

    基于数据库的Spring Boot i18n国际化组件设计源码

    本项目为基于数据库驱动的Spring Boot国际化组件设计源码,共包含51个文件,涵盖32个Java源文件、7个XML配置文件、7个属性文件以及其他几种类型的文件。该组件支持多语言功能,以Java为主要编程语言。

    spring-boot示例项目

    template-thymeleaf|[thymeleaf实现应用国际化示例](https://github.com/smltq/spring-boot-demo/blob/master/template-thymeleaf) mq-redis|[redis之mq实现,发布订阅模式]...

    Pro Spring Boot(Apress,2016)对应源码

    13. **国际化的支持**:Spring Boot通过`spring-boot-starter-internationalization`支持多语言环境,可以方便地切换应用的语言。 14. **事件驱动和消息总线**:Spring Boot支持Spring Integration和RabbitMQ、...

    Spring Boot:国际化案例

    在Spring Boot框架中,实现国际化是一项常见的需求,它允许应用程序为不同的地区和语言提供本地化的显示内容。本案例将深入探讨如何在Spring Boot项目中设置和使用国际化功能,以提高用户体验。 首先,我们需要理解...

    Spring Boot实战实现登录国际化

    在本文中,我们将深入探讨如何使用Spring Boot实现登录页面的国际化。Spring Boot作为一个流行的Java开发框架,极大地简化了创建和部署微服务应用的过程。而登录国际化则是为了提供更好的用户体验,使得用户可以根据...

    《spring boot 实战》源代码

    9. **国际化的支持**:通过`message.properties`文件,可以实现多语言环境的切换,提供国际化体验。 10. **微服务架构**:Spring Boot非常适合构建微服务,通过Spring Cloud框架,可以实现服务发现、配置中心、负载...

    从零开始学Spring Boot

    - **国际化**:通过messageSource实现多语言支持。 5. **学习路径** - **基础篇**:了解Spring Boot的基本概念,搭建开发环境,创建第一个“Hello, World!”应用。 - **进阶篇**:学习起步依赖的使用,理解自动...

    spring-boot源码

    10. **国际化的支持**:Spring Boot通过`MessageSource`支持多语言,配置在`spring-boot-autoconfigure`模块中。`@MessageSource`注解用于加载资源文件,如`messages.properties`。 11. **日志系统**:Spring Boot...

    Spring Boot核心技术-笔记_springboot_

    Spring Boot支持多语言环境,通过`MessageSource`和`LocaleChangeInterceptor`实现国际化。 12. **Cloud Connectors** Spring Cloud Connectors简化了云平台的连接,如配置数据库或消息队列服务。 13. **Spring ...

    spring-boot-i18n:Spring Boot国际化的演示项目

    在“Spring Boot i18n”项目中,我们主要关注的是如何实现应用的国际化(Internationalization,简称 i18n),这涉及到为不同地区和语言的用户提供本地化的内容。 国际化是一种设计和开发软件或网站的方式,使其...

    spring boot+thymeleaf项目实战

    6. **国际化**:Spring Boot支持多种语言,Thymeleaf可以通过`th:text="#{message.key}"`来显示不同语言的消息。 7. **错误处理和模板布局**:学习如何使用Thymeleaf处理Spring MVC的模型错误,并创建可重用的布局...

Global site tag (gtag.js) - Google Analytics