SpringBoot Web开发 静态资源&Thymeleaf
静态资源
在springboot,我们可以使用以下方式处理静态资源
- webjars
localhost:8080/webjars/ - public,static,resources
localhost:8080
优先级:resources>static(默认)>public 使用自定义的目录,在application.properties 中设置
spring.mvc.static-path-pattern=自定义的目录
模板引擎
模板引擎的作用就是我们来写一个页面模板,比如有些值,是动态的,我们写一些表达式。而这些值,从哪来呢,我们来组装一些数据,我们把这些数据找到。然后把这个模板和这个数据交给我们模板引擎,模板引擎按照我们这个数据帮你把这表达式解析、填充到我们指定的位置,然后把这个数据最终生成一个我们想要的内容给我们写出去,这就是我们这个模板引擎,不管是jsp还是其他模板引擎,都是这个思想。只不过呢,就是说不同模板引擎之间,他们可能这个语法有点不一样。其他的我就不介绍了,我主要来介绍一下SpringBoot给我们推荐的Thymeleaf模板引擎,这模板引擎呢,是一个高级语言的模板引擎,他的这个语法更简单。而且呢,功能更强大。
Thymeleaf
Thymeleaf官方文档 只要需要使用Thymeleaf,只需要导入对应的依赖就可以了,我们将html页面放在templates目录下即可
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring5</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-java8time</artifactId>
</dependency>
需要在使用thymeleaf的html文件中导入约束xmlns:th="http://www.thymeleaf.org"
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div th:text="${msg}"></div>
<div th:utext="${msg}"></div>
<h3 th:each="user : ${users}" th:text="${user}"></h3>
<h3 th:each="user : ${users}">
[[${user}]]
</h3>
</body>
</html>
@Controller
public class IndexController {
@RequestMapping("/test")
public String index(Model model){
model.addAttribute("msg","<h1>hello springboot</h1>");
model.addAttribute("users", Arrays.asList("admin","root"));
return "test";
}
}
|