当前位置: 首页 > news >正文

spring的多语言怎么实现?

1.创建springboot项目,并配置application.properties文件

spring.messages.basename=messages
spring.messages.encoding=UTF-8
spring.messages.fallback-to-system-locale=falsespring.thymeleaf.cache=false
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML
spring.thymeleaf.encoding=UTF-8

2.resources路径下新建messages.properties文件

messages.properties、messages_zh_CN.properties文件

3.新建config类并实现WebMvcConfigurer类,设置默认语言为英语

@Configuration
public class I18nConfig implements WebMvcConfigurer {@Beanpublic LocaleResolver localeResolver() {SessionLocaleResolver resolver = new SessionLocaleResolver();resolver.setDefaultLocale(Locale.ENGLISH);return resolver;}
}

4.编写controller类接收请求

package com.test;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;/*** @Description TODO* @Date 2025/5/29 18:09* @Version 1.0*/
@Controller
public class HomeController {private final MessageSource messageSource;@Autowiredpublic HomeController(MessageSource messageSource) {this.messageSource = messageSource;}@GetMapping("/")public String home(Model model) {String message= messageSource.getMessage("message",null,LocaleContextHolder.getLocale());model.addAttribute("message", message);return "home";}}

5.在resources下新建templates目录并添加home.html文件

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title th:text="#{login.title}">Login</title>
</head>
<body>
<h1 th:text="${message}">Welcome</h1>
<p th:text="#{user.greeting('LiLi')}">Hello, User</p>
<div><a href="?lang=en">English</a> |<a href="?lang=zh-CN">中文</a> |
</div>
</body>
</html>

相关文章:

  • [解决]在 Vue 3 使用 Vite 开发的项目中,放在 public 文件夹里的文件,在打包部署后出现 404 的问题
  • Linux `|` 管道符与 `grep` 命令深度解析与高阶应用指南
  • 国产化redis 替代产品tendis 安装
  • siglip2(1) 设置模型返回所需变量
  • Redis--缓存击穿详解及解决方案
  • 动态规划法在解决实际问题中的应用
  • 论文笔记:DreamDiffusion
  • CDN安全加速:HTTPS加密最佳配置方案
  • 【深度学习】13. 图神经网络GCN,Spatial Approach, Spectral Approach
  • ABP 框架集成 EasyAbp.Abp.GraphQL 构建高性能 GraphQL API
  • 蓝牙和wifi相关的杂项内容总结
  • <线段树>
  • [嵌入式实验]实验四:串口打印电压及温度
  • Java求职面试:从核心技术到AI与大数据的全面考核
  • 不起火,不爆炸,高速摄像机、数字图像相关DIC技术在动力电池新国标安全性能测试中的应用
  • 005 ElasticSearch 许可证过期问题
  • 深入了解linux系统—— 库的制作和使用
  • IBM DB2数据库管理工具IBM Data Studio
  • Unity QFramework 简介
  • Git 教程 | 如何将指定文件夹回滚到上一次或某次提交状态(命令详解)
  • 密云区社区建设网站/宁波seo营销
  • 许昌做网站哪家好/管理微信软件
  • 手机上的软件网站建设/亚马逊跨境电商开店流程及费用
  • 网站会员注册系统/成都关键词优化平台
  • 电力建设科学技术进步申报网站/环球网疫情最新动态
  • 新手网站设计看哪本书/全球网站访问量排名