iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >springboot页面国际化配置指南
  • 944
分享到

springboot页面国际化配置指南

2024-04-02 19:04:59 944人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录前言方法如下总结前言 前一段时间做了一个项目,需要解决中文、繁体、英文的国际化问题,所以本文将详细介绍SpringBoot页面国际化配置的过程 方法如下 1.引入依赖pom.xm

前言

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

方法如下

1.引入依赖pom.xml

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-WEB</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

2.导入网页资源,这里给大家推荐一个我自己在使用的页面资源,SB ADMIN-2

html页面放在templates目录下,这是thymeleaf默认的解析目录,其他的样式文件放在static目录下

3.接管spring mvc,自定义url访问路径,可做可不做

建一个config目录,在这里建一个myWebMvcConfig

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.config.annotation.ViewControllerReGIStry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class myWebMvcConfig implements WebMvcConfigurer {
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {

        registry.addViewController("/wq").setViewName("register");//localhost:8080/wq
        registry.addViewController("/").setViewName("register");//localhpst:8080/
        registry.addViewController("/register.html").setViewName("register");
        //localhost:8080/register.html
    }
}

路径可以设置多个,这样只要是这三个url,spring 都会访问register.html

还有一种方式也能实现

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class demoController {
    @RequestMapping({"/","/wq"})
    public String test(){
        return "register";
    }
}

4.国际化配置文件:en_US英文,zh_CN中文

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

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

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

<html lang="en" xmlns:th="Http://www.thymeleaf.org">

在所有的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页面国际化内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: springboot页面国际化配置指南

本文链接: https://www.lsjlt.com/news/141367.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • springboot页面国际化配置指南
    目录前言方法如下总结前言 前一段时间做了一个项目,需要解决中文、繁体、英文的国际化问题,所以本文将详细介绍springboot页面国际化配置的过程 方法如下 1.引入依赖pom.xm...
    99+
    2024-04-02
  • springboot页面国际化如何配置
    这篇文章主要介绍了springboot页面国际化如何配置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springboot页面国际化如何配置文章都会有所收获,下面我们一起来看看吧。方法如下引入依赖pom.xml...
    99+
    2023-06-29
  • Springboot Thymeleaf如何配置国际化页面
    本文小编为大家详细介绍“Springboot Thymeleaf如何配置国际化页面”,内容详细,步骤清晰,细节处理妥当,希望这篇“Springboot Thymeleaf如何配置国际化页面”文章能帮助大家解决疑惑,下面跟...
    99+
    2023-07-06
  • Spring boot Thymeleaf怎么配置国际化页面
    这篇文章主要讲解了“Spring boot Thymeleaf怎么配置国际化页面”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring boot ...
    99+
    2023-07-02
  • Spring boot Thymeleaf配置国际化页面详解
    目录1.编写多语言国际化配置文件2.编写配置文件3.定制区域信息解析器4.页面国际化使用5.整合效果测试1.编写多语言国际化配置文件 在项目的类路径resources下创建名称为i1...
    99+
    2024-04-02
  • 如何在springboot中实现页面的国际化
    确保这个修改是正确的(否则将会出现乱码) 创建i18n文件夹(就是国际化的意思),然后在此文件加下创login.properties login_zh_CN,properties文...
    99+
    2024-04-02
  • SpringBoot Validation提示信息国际化配置方式
    目录引言Spring Boot 2.5.xSpring Boot 2.6.x总结引言 之前介绍过Spring Boot Validation的使用及扩展 本文在此基础上重点讲解下Sp...
    99+
    2023-02-23
    SpringBoot Validation Validation提示信息 Validation国际化配置
  • SpringBoot Validation提示信息国际化如何配置
    这篇文章主要介绍“SpringBoot Validation提示信息国际化如何配置”,在日常操作中,相信很多人在SpringBoot Validation提示信息国际化如何配置问题上存在疑惑,小编查阅了各式资料,整理出简...
    99+
    2023-07-05
  • 如何配置Flex国际化
    这篇文章主要介绍了如何配置Flex国际化,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Flex国际化说明Flex从SDK4.0开始支持中文语言包(包括简体中文,繁体中文等16...
    99+
    2023-06-17
  • vue3项目如何国际化实战指南
    vue3项目如何国际化 我们已经属性vue2 ,使用i18n ,进行国际化那vue3 我们如何配置 i18n 呢 ? 配置 Ⅰ、安装 npm i vue-i18n Ⅱ、创建 il18...
    99+
    2024-04-02
  • 打破语言壁垒:Vue 的国际化指南
    设置国际化 Vue 提供了 VueI18n 库,用于管理应用程序的国际化。要设置国际化,请遵循以下步骤: 安装 VueI18n:npm install vue-i18n 在 main.js 文件中导入 VueI18n 并创建实例: i...
    99+
    2024-04-02
  • js如何使用i18n实现页面国际化
    小编给大家分享一下js如何使用i18n实现页面国际化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!页面引用的插件<scri...
    99+
    2024-04-02
  • spring security国际化及UserCache的配置和使用
    国际化配置<!-- 定义上下文返回的消息的国际化 --> <bean id="messageSource" class="org.springframework.context.support.ReloadableRe...
    99+
    2023-05-31
    spring security 国际化
  • PHP 性能优化:服务器配置指南
    通过优化服务器配置可以提升 php 应用程序性能,具体措施包括:1. 启用 opcache 以缓存编译过的脚本字节码;2. 优化 php-fpm 设置以提高资源利用率并减少延迟;3. 启...
    99+
    2024-05-10
    php 性能优化 css redis
  • react之umi配置国际化语言locale的踩坑记录
    目录umi配置国际化语言locale的踩坑react-umi 国际化 (中英文切换)总结umi配置国际化语言locale的踩坑 因为项目创建的比较早,用的是umi2+版本,修改默认语...
    99+
    2023-02-10
    react umi配置 umi配置国际化语言 react umi 国际化
  • vue动态添加store、路由和国际化配置方式
    目录vue动态添加store,路由和国际化vue动态添加storevue动态添加路由vue动态加载国际化前端项目用vue-i18n实现国际化在项目中安装国际化包的依赖配置文件异步方式...
    99+
    2024-04-02
  • 配置CLion管理Qt项目国际化支持的方法
    随着Qt 6的发布,cmake也正式宣告接管qmake的工作了。 在之前的一篇博客里我介绍了如何使用cmake管理你的qt项目,不过有一点我没有讲,那就是对国际化(i18n)的处理。...
    99+
    2024-04-02
  • 基于springboot i18n国际化后台多种语言设置的方式
    之前有做过手机端后台的国际化,因为手机统一传递了language参数 所以只要设置LocaleChangeInterceptor就行了 @Configuration publi...
    99+
    2024-04-02
  • 阿里云服务器配置图形界面设置指南
    在当今的数字化时代,阿里云服务器已经成为许多企业和个人的首选。但是,许多用户在使用阿里云服务器的过程中,由于对其配置设置不太了解,常常会遇到各种问题。为了解决这一问题,本文将详细介绍如何通过图形界面设置阿里云服务器的配置。 一、如何通过图形...
    99+
    2023-12-17
    阿里 图形界面 服务器配置
  • 阿里云电视桌面配置服务器设置指南
    随着科技的发展,电视已经不再只是看节目、看电影的工具,它还可以实现更多的功能,如游戏、办公、学习等。然而,电视的配置和设置相对复杂,特别是对于没有计算机经验的人来说。本文将详细介绍如何在阿里云电视上设置配置服务器,让您轻松掌握电视的使用方法...
    99+
    2023-11-15
    阿里 桌面 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作