一,官方链接html
* Thymeleaf文档链接:https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.htmljava
* SpringBoot整合链接(搜索Thymeleaf便可):https://docs.spring.io/spring-boot/docs/2.1.1.RELEASE/reference/htmlsingle/web
二,模板依赖spring
<!-- 整合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>
五,后台代码springboot
* Controllerruby
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 { @Autowired private IUserThyService userThyService; @RequestMapping("userThy") public String findUser(Model model) { List<UserVO> lstUser = userThyService.findUser(); model.addAttribute("users", lstUser); return "userDetails"; } }
* Servicemybatis
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 { @Autowired private IUserThyMapper userThyMapper; @Override public List<UserVO> findUser() { return userThyMapper.findUser(); } }
* Mapperapp
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"> SELECT USERNAME AS userName, PASSWORD AS PASSWORD, AGE AS age FROM user_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