Thymeleaf初级
1.Jquery和Thymeleaf在springboot下的依赖
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2.加了@ResponseBody
后返回的是字符串,如果没加,在spring里是去找jsp,但引入了Thymeleaf后是去resources下的templates中找对应的html。
3.开发期间模版引擎页面修改后,要使它实时生效,要在resources下的properties文件中加入spring.thymeleaf.cache=false
以禁用缓存。并且改变前端页面后还要在IDEA中按CTRL+F9来刷新缓存。
Thymeleaf语法
java:
@RequestMapping("/hello")
public String hello(Map<String,Object> map)
{
//map里的东西会默认放入域中
map.put("hello", "你好");
return "success";
}
html:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>success</h1>
<!-- <div th:text="${hello}">-->
<div th:text="${hello}">显示欢迎</div>
</body>
</html>
最上面的xmlns:th="http://www.thymeleaf.org"
会往编译器内添加提示功能。
2.th:text=" ?"
是覆盖div标签中的内容,${hello}
能从域中取出key为hello的数据。
3.
<p th:text="${msg}" th:if="${not #strings.isEmpty(msg)}"></p>
这个标签的意思是取出域中key为msg的对象是否存在并显示。th:if
就是在判断msg是否为空,如果为空则该 p 标签不显示。
4.th:href="@{/emps}
意为点击后发送往服务器的请求。