SpringBoot集成thymeleaf模板引擎
一、前言
- thymeleaf
Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎。
Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板 -HTML可以在浏览器中正确显示,也可以作为静态原型工作,从而可以在开发团队中加强协作。
Thymeleaf拥有用于Spring Framework的模块,与您喜欢的工具的大量集成以及插入您自己的功能的能力,对于现代HTML5 JVM Web开发而言,Thymeleaf是理想的选择-尽管它可以做很多事情。
- 开发环境
JDK 1.8+
- 参考
二、正文
- spring initializr 中创建 SpringBoot 项目
- 默认创建了 demo 项目
- Dependencies:添加 String Web
GENERATE
- IntelliJ IDEA 打开项目
- resources/static 文件夹:存放静态资源,浏览器可直接访问;如:static 下创建 static.html ,可输入 http://localhost:8085/static.html 访问。
- resources/templates文件夹:存放动态资源,即模板页面。
pom.xml
添加 thymeleaf 的依赖
<!-- thymeleaf -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
application.properties
配置
# thymeleaf
spring.thymeleaf.mode=HTML
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.servlet.content-type=text/html
spring.thymeleaf.cache=false
# spring
spring.application.name=thymeleaf-demo
server.port=8085
- 创建文件夹和文件:
com.example.thymeleafdemo.controller.DemoController.java
package com.example.thymeleafdemo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class DemoController {
@GetMapping("/html/index")
public ModelAndView goIndex(ModelAndView mav){
mav.addObject("name", "hello word");
mav.setViewName("test");
return mav;
}
}
- 创建HTML:
resources\templates\test.html
html标签:
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Test Page</title>
</head>
<body>
<h3>Test Page</h3>
<h4 th:text=" 'response:' + ${name}"></h4>
</body>
</html>
三、其它
1.其它模板引擎
(1)FreeMarker
(2)Velocity
2.跳转首页
浏览器:输入IP和端口后,默认跳转的页面,例如:http://localhost:8085
- 默认跳转到
static/index.html
- 如果
static/index.html
不存在,才会查找templates/index.html