SpringBoot 页面国际化转化

摘要:
1.实现效果:默认情况下,页面字体语言基于操作系统的语言。单击中文字体为中文,然后单击英文字体为英文。2、实施思路:1)编写国际配置文件;2) 使用ResourceBundleMessageSource管理国际化资源文件3)在页面上使用thymeaf检索国际化内容3。具体实现1)编写国际化配置文件,提取需要在页面上显示的国际化消息,并在资源中创建属性文件ides

1.实现的效果:默认按照操作系统的语言进行页面字体语言,点击中文字体为中文,点击English 字体为英文

SpringBoot 页面国际化转化第1张

SpringBoot 页面国际化转化第2张

 2.实现的思路:

1)、编写国际化配置文件;

2)、使用ResourceBundleMessageSource管理国际化资源文件

3)、在页面使用thymeleaf取出国际化内容

3.具体实现

1)编写国际化配置文件,抽取页面需要显示的国际化消息

   在resources建立properties文件  idea帮我们自动生成了对应的资源目录

SpringBoot 页面国际化转化第3张

    ***解决thymeleaf取内容乱码问题

SpringBoot 页面国际化转化第4张

    在国际文件properties编辑对应的信息

 SpringBoot 页面国际化转化第5张

  2)、SpringBoot自动配置好了管理国际化资源文件的组件;MessageSourceAutoConfiguration

SpringBoot 页面国际化转化第6张

     我们只需在配置文件配置国际资源文件的路径  包名+识别名

spring.messages.basename=internationalization.login  

3)去页面获取国际化的值;thymeleaf用#{}取出国际值

SpringBoot 页面国际化转化第7张

 这样默认的就是根据请求头带来的区域信息获取Locale进行国际化

4)点击链接切换国际化

SpringBoot 页面国际化转化第8张

 如果没有配置区域信息解析器,springboot帮我们创建了区域信息解析器默认用的是请求头的区域信息,有就用我们自己配置的

SpringBoot 页面国际化转化第9张

配置自己的区域信息解析器

package com.example.springbootdemo.Assembly;

import org.springframework.web.servlet.LocaleResolver;
import org.thymeleaf.util.StringUtils;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Locale;

public class MylocaleResolver implements LocaleResolver {
    @Override
    public Locale resolveLocale(HttpServletRequest httpServletRequest) {
        String l = httpServletRequest.getParameter("l");//获取地址信息
        System.out.println("____"+l);
        Locale locale=Locale.getDefault();//默认操作系统最带的区域信息
        if(!StringUtils.isEmpty(l)){//判断是否为空
            String[] s = l.split("_");//按照“_”分割
            System.out.println(s[0]+"_______"+s[1]);
            locale= new Locale(s[0],s[1]);
        }
        return locale;
    }

    @Override
    public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {

    }
}

 在springmvc配置类声明我们的区域信息解析器

  //添加自己的LocaleResolver
//方法名必须是这个
    @Bean
    public LocaleResolver localeResolver(){
        return new MylocaleResolver();
    }

4.总结

1.springboot为我们自动配置的两个组件

  国际化资源管理器:MessageSourceAutoConfiguration

  区域信息解析器:在WebMvcAutoConfiguration里面配置

SpringBoot 页面国际化转化第10张

SpringBoot 页面国际化转化第11张

  

   

   

免责声明:文章转载自《SpringBoot 页面国际化转化》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇WPF comboboxSSDT的hook浅析下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CAS单点登录-自定义登录页、修改编辑登录页

一、前言 我们搭建了CAS-Server,在浏览器中输入http://ip:port/cas/login之后,跳转到了统一认证中心的登陆界面。 如下图所示: 但是这个页面的logo和布局都是默认apereo的,我们希望自己编辑页面布局。 自己去定义布局,比如完成如下图: 自定义登陆界面,我们需要修改的地方包括这几点: 1.修改浏览器标签页图标ic...

Thymeleaf【快速入门】

前言:突然发现自己给自己埋了一个大坑,毕设好难..每一个小点拎出来都能当一个小题目(手动摆手..),没办法自己选的含着泪也要把坑填完..先一点一点把需要补充的知识学完吧.. Thymeleaf介绍 稍微摘一摘【官网】上面的介绍吧(翻译是找到,有些增加的内容): 1.Thymeleaf is a modern server-side Java templ...

SpringBoot-Thymeleaf模板引擎整合及基本用法总结

兴趣的朋友可以去了解一下前四篇,你的赞就是对我最大的支持,感谢大家! (一) SpringBoot起飞之路-HelloWorld (二) SpringBoot起飞之路-入门原理分析 (三) SpringBoot起飞之路-YAML配置小结(入门必知必会) (四) SpringBoot起飞之路-静态资源处理 说明: 太忙啦,同时全放到一起,后来感觉移动端篇...

4.2.SpringBoot的web开发2

一.静态资源访问 1.三种方式访问并处理静态资源: webjars方式:(一般不使用) 可访问webjars官网查找需要的资源 导入需要的资源配置放入pom.xml中 可以查看项目中的lib包资源是否被导入 在lib包中查看导入的资源下有一个WEB-INF/resources里面就是我们需要的静态资源 浏览器访问:localhost:8080/web...

Thymeleaf常用语法:条件判断 if、switch case

<div class="ibox-diy" th:if="${activity.activityType} eq 3"> <div class="ibox-content-diy"> <small>已付尾款订单数量</small> <h1>[[${daily...

Thymeleaf(Java模板引擎)

一、概念 1、Thymeleaf是Web和独立环境的开源的Java模板引擎,能够处理HTML,XML,JavaScript,CSS甚至纯文本;2、Thymeleaf可以在Web(基于Servlet)和非Web环境中工作,它更适合在基于MVC的Web应用程序的视图层提供XHTML / HTML5 ,但它甚至可以在脱机环境中处理任何XML文件。它提供完整的Sp...