版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl

概述

在之前的教程中,我们介绍了Thymeleaf的基础知识。在此,以案例形式详细介绍Thymeleaf的基本使用。

项目结构

要点概述:

  • 1、在static下创建css文件夹用于存放css文件
  • 2、在static下创建img文件夹用于存放图片文件

依赖文件

请在pom.xml文件中添加如下依赖。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.4</version><relativePath/> </parent><groupId>com.cn</groupId><artifactId>SpringBootThymeleaf01</artifactId><version>0.0.1-SNAPSHOT</version><name>SpringBootThymeleaf01</name><description>SpringBootThymeleaf01</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

配置文件

请在application.properties文件添加以下配置。

# 缓存设置。开发中设置为false,线上时设置为truespring.thymeleaf.cache=false# 模板的编码方式spring.thymeleaf.encoding=UTF-8# 模式spring.thymeleaf.mode=HTML5# 模板页面存放路径spring.thymeleat.prefix=classpath:/resources/templates/# 模板页面名称后缀spring.thymeleaf.suffix=.html

LoginController

package com.cn.springbootthymeleaf02.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import java.util.Calendar;/** * 本文作者:谷哥的小弟 * 博客地址:http://blog.csdn.net/lfdfhl */@Controller@RequestMapping("/LoginController")public class LoginController {@RequestMapping("/toLogin")public String toLogin(Model model){int year = Calendar.getInstance().get(Calendar.YEAR);model.addAttribute("year", year);//跳转至login.htmlreturn "login";}}

login.html

在templates中创建login.html页面。

<!DOCTYPE html><html lang="en" xmlns:th="http://www.thymeleaf.org"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1,shrink-to-fit=no"><title>用户登录界面</title><link th:href="@{/css/bootstrap.min.css}" rel="stylesheet"><link th:href="@{/css/signin.css}" rel="stylesheet"></head><body class="text-center"><form class="form-signin"><img class="mb-4" th:src="@{/img/icon.jpg}" width="72" height="72"/><h1 class="h3 mb-3 font-weight-normal">请登录</h1><input type="text" class="form-control" th:placeholder="用户"/><input type="password" class="form-control" th:placeholder="密码"/><div class="checkbox mb-3"><label><input type="checkbox" value="remember-me"/> 记住我</label></div><button class="btn btn-lg btn-primary btn-block" type="submit">登录</button><p class="mt-5 mb-3 text-muted">© <span th:text="${year}">2030</span>-<span th:text="${year}+1">2040</span></p></form></body></html>

SpringBootThymeleaf02Application

测试

测试地址:http://localhost:8080/LoginController/toLogin

从此结果可以看出:html页面显示了后台传递至前端的数据。