Spring Boot入门(十五) 之 国际化操作(页面的中英文相互切换)

简介: Spring Boot入门(十五) 之 国际化操作(页面的中英文相互切换)

页面国际化要实现的是,语言之前的来回切换

现在是英文页面,我是要实现如果浏览器默认语言是英文,那么就是英文,如果是中文,那么久是中文页面,当然我们也可以点击中英文切换来换中英文页面

首先我们在resources里边新建一个名字叫做i18n的国际化配置文件 (i18n全称为internationalization, i和n分别为首字母和尾字母,中间省略18个字母 , 滑稽)

我们在i18n里边新建login.properties和login_zh_CN.properties两个配置文件,第一个是默认配置文件,第二个是中文配置文件


这个时候,系统会检测到我们在做国际化,会给你一个Resource Bundle,我们直接在Resource bundle上边右击新建

输入en_US系统会自动给你配置好国际化配置文件

我们随便点开一个语言配置文件,可以看到下边有个Resource Bundle

由于properties文件默认编码为ascii所以我们调整一下

打开settings搜索file encodings,然后找到Properties files, 我们改为UTF-8 后边的transparent xxxxxx打上勾

这样我们在properties文件里边写的汉字就不会乱码

我们点开Resource Bundle

点击加号,我们输入login.tip(名字无所谓) 右边就会有三个框框,分别是默认的登录,中文的 还有英文的, 分别写上对应的文字

除了请登录,我们还有很多地方要修改如下

分别写上对应的文字

可以看到配置文件里自动帮我们写好了配置,

我们回到application.properties配置文件夹中,指定国际化内容


然后我们回到首页,国际化的内容我们都用#{}这个标签来表示

利用thymeleaf填入国际化内容,发现这里会给出提示

我们启动服务器,来访问

上边这个是谷歌浏览器默认语言是英文,所以显示英文

下边的这个是火狐浏览器,默认语言设置换成了中文,于是就显示了中文


如果我们想通过点几下边的中文和English来切换呢?

我们分别给中文和English传入不同的参数,l = 'zh_CN'和l='en_US'

然后我们在controller同济的文件夹下新建一个文件夹component 里边写一个叫做MyLocaleResolver的类


后边加上implements LocaleResolver然后按alt + enter补全下边的两个函数

package com.zhanshen.springbootweb.component;
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) {
        //获取l的值
        String l = httpServletRequest.getParameter("l");
        //获取locale对象  getDefault是获取系统默认的
        Locale locale = Locale.getDefault();
        //检查l的值是否为空
        if(!StringUtils.isEmpty(l)) {
            //en_US  表示语言为English   地区为US  我们把这俩参数分隔开, 分别传给Locale
            String[] s = l.split("_");
            locale = new Locale(s[0], s[1]);
        }
        return locale;
    }
    @Override
    public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {
    }
}

里边写上判断的逻辑并返回确认的语言类型

然后我们把它添加到容器中,在MyConfig里边写入如下

重启springboot

我们点击中文,就可以发现变成了中文,并且路径上就是我们刚刚穿的参数zh_CN

相关文章
|
1月前
|
XML Java 应用服务中间件
【SpringBoot(一)】Spring的认知、容器功能讲解与自动装配原理的入门,带你熟悉Springboot中基本的注解使用
SpringBoot专栏开篇第一章,讲述认识SpringBoot、Bean容器功能的讲解、自动装配原理的入门,还有其他常用的Springboot注解!如果想要了解SpringBoot,那么就进来看看吧!
312 2
|
6月前
|
人工智能 Java API
Spring AI 实战|Spring AI入门之DeepSeek调用
本文介绍了Spring AI框架如何帮助Java开发者轻松集成和使用大模型API。文章从Spring AI的初探开始,探讨了其核心能力及应用场景,包括手动与自动发起请求、流式响应实现打字机效果,以及兼容不同AI服务(如DeepSeek、通义千问)的方法。同时,还详细讲解了如何在生产环境中添加监控以优化性能和成本管理。通过Spring AI,开发者可以简化大模型调用流程,降低复杂度,为企业智能应用开发提供强大支持。最后,文章展望了Spring AI在未来AI时代的重要作用,鼓励开发者积极拥抱这一技术变革。
2322 71
Spring AI 实战|Spring AI入门之DeepSeek调用
|
7月前
|
安全 Java 数据库
Spring Security 实战指南:从入门到精通
本文详细介绍了Spring Security在Java Web项目中的应用,涵盖登录、权限控制与安全防护等功能。通过Filter Chain过滤器链实现请求拦截与认证授权,核心组件包括AuthenticationProvider和UserDetailsService,负责用户信息加载与密码验证。文章还解析了项目结构,如SecurityConfig配置类、User实体类及自定义登录逻辑,并探讨了Method-Level Security、CSRF防护、Remember-Me等进阶功能。最后总结了Spring Security的核心机制与常见配置,帮助开发者构建健壮的安全系统。
418 0
|
4月前
|
前端开发 Java API
基于 Spring Boot 3 与 React 的 Java 学生信息管理系统从入门到精通实操指南
本项目基于Spring Boot 3与React 18构建学生信息管理系统,涵盖前后端开发、容器化部署及测试监控,提供完整实操指南与源码,助你掌握Java全栈开发技能。
214 0
|
5月前
|
Java 关系型数据库 MySQL
【Spring】【事务】初学者直呼学会了的Spring事务入门
本文深入解析了Spring事务的核心概念与使用方法。Spring事务是一种数据库事务管理机制,通过确保操作的原子性、一致性、隔离性和持久性(ACID),维护数据完整性。文章详细讲解了声明式事务(@Transactional注解)和编程式事务(TransactionTemplate、PlatformTransactionManager)的区别与用法,并探讨了事务传播行为(如REQUIRED、REQUIRES_NEW等)及隔离级别(如READ_COMMITTED、REPEATABLE_READ)。
430 1
|
5月前
|
Java API 微服务
Java 21 与 Spring Boot 3.2 微服务开发从入门到精通实操指南
《Java 21与Spring Boot 3.2微服务开发实践》摘要: 本文基于Java 21和Spring Boot 3.2最新特性,通过完整代码示例展示了微服务开发全流程。主要内容包括:1) 使用Spring Initializr初始化项目,集成Web、JPA、H2等组件;2) 配置虚拟线程支持高并发;3) 采用记录类优化DTO设计;4) 实现JPA Repository与Stream API数据访问;5) 服务层整合虚拟线程异步处理和结构化并发;6) 构建RESTful API并使用Springdoc生成文档。文中特别演示了虚拟线程配置(@Async)和StructuredTaskSco
584 0
|
7月前
|
存储 安全 Java
Spring Security 入门与详解
Spring Security 是 Spring 框架中的核心安全模块,提供认证、授权及防护功能。本文详解其核心概念,包括认证(Authentication)、授权(Authorization)和过滤器链(Security Filter Chain)。同时,通过代码示例介绍基本配置,如 PasswordEncoder、UserDetailsService 和自定义登录页面等。最后总结常见问题与解决方法,助你快速掌握 Spring Security 的使用与优化。
1700 0
|
11月前
|
存储 安全 Java
Spring Security 入门
Spring Security 是 Spring 框架中的安全模块,提供强大的认证和授权功能,支持防止常见攻击(如 CSRF 和会话固定攻击)。它通过过滤器链拦截请求,核心概念包括认证、授权和自定义过滤器。配置方面,涉及密码加密、用户信息服务、认证提供者及过滤器链设置。示例代码展示了如何配置登录、注销、CSRF防护等。常见问题包括循环重定向、静态资源被拦截和登录失败未返回错误信息,解决方法需确保路径正确和添加错误提示逻辑。
676 2
Spring Security 入门
|
10月前
|
人工智能 自然语言处理 Java
Spring Cloud Alibaba AI 入门与实践
本文将介绍 Spring Cloud Alibaba AI 的基本概念、主要特性和功能,并演示如何完成一个在线聊天和在线画图的 AI 应用。
2779 8