SpringBoot:整合Thymeleaf及国际化处理

2024-06-21 02:48

本文主要是介绍SpringBoot:整合Thymeleaf及国际化处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一,官方连接

    * Thymeleaf文档连接:https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html

    * SpringBoot整合连接(搜索Thymeleaf即可):https://docs.spring.io/spring-boot/docs/2.1.1.RELEASE/reference/htmlsingle/

二,模板依赖

<!-- 整合thymeleaf -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

三,配置文件

### thymeleaf配置信息
# 不启用缓存
spring.thymeleaf.cache=false
# 文件地址前缀
spring.thymeleaf.prefix=classpath:/static/thymeleaf/
# 文件地址后缀, 此处使用html文件
spring.thymeleaf.suffix=.html
# 以utf-8进行编码
spring.thymeleaf.encoding=UTF-8
# 文件类型
spring.thymeleaf.servlet.content-type=text/html

四,thymeleaf.html文件

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><!-- 用于演示国际化 --><h1 th:text="#{locale.message}"></h1><table><tr><th>USERNAME</th><th>PASSWORD</th><th>AGE</th></tr><!-- 遍历后台返回集合 --><tr th:each="user : ${users}"><!-- el表达式获取对象属性 --><td th:text="${user.userName}"></td><td th:text="${user.password}"></td><td th:text="${user.age}"></td></tr></table></body>
</html>

五,后台代码

    * Controller

package com.gupao.springboot.themyleaf.controller;import com.gupao.springboot.entitys.UserVO;
import com.gupao.springboot.themyleaf.service.IUserThyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.context.MessageSourceProperties;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;import java.util.List;/*** @author pj_zhang* @create 2019-01-02 21:45**/
@Controller
public class UserThyController {@Autowiredprivate IUserThyService userThyService;@RequestMapping("userThy")public String findUser(Model model) {List<UserVO> lstUser = userThyService.findUser();model.addAttribute("users", lstUser);return "userDetails";}}

    * Service

package com.gupao.springboot.themyleaf.service.impl;import com.gupao.springboot.entitys.UserVO;
import com.gupao.springboot.themyleaf.mapper.IUserThyMapper;
import com.gupao.springboot.themyleaf.service.IUserThyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;/*** @author pj_zhang* @create 2019-01-02 21:46**/
@Service
public class UserThyService implements IUserThyService {@Autowiredprivate IUserThyMapper userThyMapper;@Overridepublic List<UserVO> findUser() {return userThyMapper.findUser();}}

     * Mapper

package com.gupao.springboot.themyleaf.mapper;import com.gupao.springboot.entitys.UserVO;import java.util.List;/*** @author pj_zhang* @create 2019-01-02 21:48**/
public interface IUserThyMapper {List<UserVO> findUser();}

    * mapper.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="com.gupao.springboot.themyleaf.mapper.IUserThyMapper">
<select id="findUser" resultType="com.gupao.springboot.entitys.UserVO">SELECTUSERNAME AS userName,PASSWORD AS PASSWORD,AGE AS ageFROMuser_t
</select>
</mapper>

六,页面展示

七,SpringBoot+Thymeleaf实现国际化

    1,SpringBoot读取文件默认配置类,默认从messages.properties读取配置信息

    2,内置国际化处理措施,获取浏览器当前语言,之后识别对应的配置文件自动进行装载

        * 默认配置文件messages.properties必须存在,不然国际化加载会出问题。(个人实验)

        * 装载文件名称:messages + "_" + http头信息的Content-Language属性("-"解析为"_"进行装载),如图

    3,messages_en.properties

locale.message = Welcome

    4,messages_zh_CN.properties

locale.message = 欢迎

    5,界面访问

        * 默认中文界面下访问

        * 修改英文界面

              -- 设置 --> 高级 --> 语言 --> 语言

              -- 设置英语为当前语言,并移到顶部,之后重启

 

         * 切换后重新访问如下,因为英文下对应的http头属性值为en,所以对应文件名称为messages_en.properties

这篇关于SpringBoot:整合Thymeleaf及国际化处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1079999

相关文章

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Spring MVC如何设置响应

《SpringMVC如何设置响应》本文介绍了如何在Spring框架中设置响应,并通过不同的注解返回静态页面、HTML片段和JSON数据,此外,还讲解了如何设置响应的状态码和Header... 目录1. 返回静态页面1.1 Spring 默认扫描路径1.2 @RestController2. 返回 html2

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

Java操作ElasticSearch的实例详解

《Java操作ElasticSearch的实例详解》Elasticsearch是一个分布式的搜索和分析引擎,广泛用于全文搜索、日志分析等场景,本文将介绍如何在Java应用中使用Elastics... 目录简介环境准备1. 安装 Elasticsearch2. 添加依赖连接 Elasticsearch1. 创

Spring核心思想之浅谈IoC容器与依赖倒置(DI)

《Spring核心思想之浅谈IoC容器与依赖倒置(DI)》文章介绍了Spring的IoC和DI机制,以及MyBatis的动态代理,通过注解和反射,Spring能够自动管理对象的创建和依赖注入,而MyB... 目录一、控制反转 IoC二、依赖倒置 DI1. 详细概念2. Spring 中 DI 的实现原理三、