栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot --thymeleaf国际化

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot --thymeleaf国际化

 背景:

        顾名思义,国际化操作就是把页面的字段显示适配多国的语言,让用户自行选择国际语言浏览应用

        这个demo主要是跟随B站的SpringBoot教学视频进行编写的,大致相同,小部分个人添加,详细内容可参考B站视频:尚硅谷SpringBoot顶尖教程(springboot之idea版spring boot)_哔哩哔哩_bilibili

操作:             创建需要国际化的页面(也可是存量页面):

        login.html



	
		
		
		
		
		Signin Template for Bootstrap
		
		
		
		
	
	
		

Please sign in

© 2017-2018

中文 English

        创建国际化文件:

        找到需要国际化的字段,进行对应的翻译

login.btn=登陆~
login.password=密码~
login.remember=记住我~
login.tip=请登陆~
login.username=用户名~

        application.properties文件添加国际化文件配置
# 国际化配置文件(包名.基础名)
spring.messages.basename=i18n.login

        实现自己的LocaleResolver
public class MyLocaleResolver implements LocaleResolver {
    
    @Override
    public Locale resolveLocale(HttpServletRequest request) {
        //从前端获取 ‘lan’ 参数,来确定使用那种国际化语言
        String l = request.getParameter("lan");
        Locale locale = Locale.getDefault();
        if(!StringUtils.isEmpty(l)){
            String[] split = l.split("_");
            locale = new Locale(split[0],split[1]);
        }
        return locale;
    }

    @Override
    public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {

    }
}
        扩展自己的MVC配置MyMvcConfig.java
//使用WebMvcConfigurerAdapter可以来扩展SpringMVC的功能
//@EnableWebMvc   不要接管SpringMVC
@Configuration
public class MyMvcConfig extends WebMvcConfigurerAdapter {

    //所有的WebMvcConfigurerAdapter组件都会一起起作用
    @Bean //将组件注册在容器,不加的话spring找不到你的配置
    public WebMvcConfigurerAdapter webMvcConfigurerAdapter(){
        WebMvcConfigurerAdapter adapter = new WebMvcConfigurerAdapter() {
            @Override
            public void addViewControllers(ViewControllerRegistry registry) {
                registry.addViewController("/").setViewName("login");
                registry.addViewController("/index.html").setViewName("login");
                registry.addViewController("/main.html").setViewName("dashboard");
            }
        };
        return adapter;
    }

    //国际化配置
    @Bean
    public LocaleResolver localeResolver(){
        return new MyLocaleResolver();//自己的配置类
    }

}
启动测试:

效果:

 输入 http://127.0.0.1:8080/crud/index.html?lan=zh_CN

显示中文登录页面(也可按页面按钮‘中文’):

 

 输入http://127.0.0.1:8080/crud/index.html?lan=en_US

显示英文登录页面(也可按页面按钮‘English’):

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/284244.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号