目录:
(1)自定义模板
(2)整个html文件作为模板
(3)使用其他目录中的文件模板
(4)springboot的总结:重要
(5)springboot注解的总结 重要
(1)自定义模板
控制器:ThymaleafController:
package com.bjpowernode.controller;
import com.bjpowernode.model.SysUser;
import com.bjpowernode.vo.Cat;
import com.bjpowernode.vo.Dog;
import com.bjpowernode.vo.Zoo;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.*;
@Controller
@RequestMapping("/tpl") //放在类上方的这个注解会和@GetMapping一起组成完整的访问路径
public class ThymeleafController {
//自定义模板
@GetMapping("/customtpl")
public String customTemplate(Model model){
return "customtpl";
}
}
index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h3>index.html--学习Thymeleaf语法</h3>
<a href="tpl/expression1">标准变量表达式</a>
<br>
<a href="tpl/expression2">选择变量表达式</a>
<br>
<a href="tpl/link">连接表达式</a>
<br>
<a href="tpl/property">模板属性</a>
<br>
<a href="tpl/eachList">循环list集合</a>
<br>
<a href="tpl/eachArray">循环数组Array</a>
<br>
<a href="tpl/eachMap">循环Map集合</a>
<br>
<a href="tpl/ifunless">判断语句if和unless</a>
<br>
<a href="tpl/switch">判断语句switch</a>
<br>
<a href="tpl/inline">内联iniline</a>
<br>
<a href="tpl/text">字面量</a>
<br>
<a href="tpl/strjoin">字符串连接</a>
<br>
<a href="tpl/sym">运算符的使用</a>
<br>
<a href="tpl/baseObject">内置对象</a>
<br>
<a href="tpl/utilobject">内置工具类对象</a>
<br>
<a href="tpl/customtpl">自定义模板</a>
</body>
</html>
自定义模板head.html:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div th:fragment="top">
<p>北京动力节点</p>
<p>网站 www.bjpowerenode.com</p>
</div>
</body>
</html>
使用模板:customtpl.html:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div style="margin-left: 400px">
<h3>插入模板第一种格式 th:insert</h3>
<div th:insert="~{head :: top}">
第一种方式使用模板 th:insert
</div>
<br>
<h3>插入模板第二种格式 th:</h3>
<p th:insert="head :: top"></p>
<br>
<br>
<h3>包含模板,th:include第一种语法</h3>
<div th:include="~{head :: top}">
</div>
<br>
<h3>包含模板,第二种语法</h3>
<div th:include="head :: top">
</div>
</div>
</body>
</html>
插入模板,是在原有的标签中,插入模板,替换原来标签中的内容,外层的标签还在
包含模板,是使用模板替换有include的标签,外层标签不在了
启动主启动类:
点击自定义模板:
(2)整个html文件作为模板
foot.html:创建普通的html就行
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div>
foot.html
@copy; 动力节点2020
</div>
</body>
</html>
head.html:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div th:fragment="top">
<p>北京动力节点</p>
<p>网站 www.bjpowerenode.com</p>
</div>
<div th:fragment="menu">
<p>文档|下载|blog</p>
</div>
</body>
</html>
模板customtpl.html:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div style="margin-left: 400px">
<div th:insert="head :: menu"></div>
<h3>插入模板第一种格式 th:insert</h3>
<div th:insert="~{head :: top}">
第一种方式使用模板 th:insert
</div>
<br>
<h3>插入模板第二种格式 th:</h3>
<p th:insert="head :: top"></p>
<br>
<br>
<h3>包含模板,th:include第一种语法</h3>
<div th:include="~{head :: top}">
</div>
<br>
<h3>包含模板,第二种语法</h3>
<div th:include="head :: top">
</div>
<h3>使用整个文件作为复用的内容(整个文件作为模板使用)</h3>
<div th:include="footer :: html"></div>
<br>
<div th:include="footer"></div>
<br>
<div th:insert="footer"></div>
</div>
</body>
</html>
(3)使用其他目录中的文件模板
想用conmmen目录下的left.html:
left.html:创建普通html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div>
左侧树形结构
部门管理
人员管理
考勤入口
</div>
</body>
</html>
模板customtpl.html:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div style="margin-left: 400px">
<div th:insert="head :: menu"></div>
<h3>插入模板第一种格式 th:insert</h3>
<div th:insert="~{head :: top}">
第一种方式使用模板 th:insert
</div>
<br>
<h3>插入模板第二种格式 th:</h3>
<p th:insert="head :: top"></p>
<br>
<br>
<h3>包含模板,th:include第一种语法</h3>
<div th:include="~{head :: top}">
</div>
<br>
<h3>包含模板,第二种语法</h3>
<div th:include="head :: top">
</div>
<h3>使用整个文件作为复用的内容(整个文件作为模板使用)</h3>
<div th:include="footer :: html"></div>
<br>
<div th:include="footer"></div>
<br>
<div th:insert="footer"></div>
<br>
<br>
<h3>使用其他目录中的模板文件</h3>
<div th:insert="common/left :: html"></div>
<br>
<div th:include="common/left"></div>
</div>
</body>
</html>
(4)springboot的总结:重要
SpringBoot还是Spring+SpringMVC,只不过SpringBoot强调的是起步了依赖、自动配置
通过起步依赖、自动配置,我们可以实现我们的一些对象简化的使用,不用在去写那些配置文件,不用再写配置文件的内容了,所以说用SpringBoot更加方便开发效率更高。
红色的是很重要的
(5)springboot注解的总结 重要
@RequestMapping:指定访问路径的
@GetMapping:接收get方式的请求的