Thymeleaf入门

为什么用模板引擎

springboot中是用jar的方式,不是war,而且使用的嵌入式tomcat,默认不支持jsp,如果使用纯静态又非常麻烦,所以springboot推荐你使用模板引擎(jsp就是一个模板引擎)。

模板引擎的作用

把后台封装的数据和页面模板交给模板引擎,模板引擎会按照我们的数据把这表达式解析、填充,最终生成我们想要的内容。

使用Thymeleaf

引入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

找到Thymeleaf自动配置类  //直接搜class名

public class ThymeleafProperties {
    private static final Charset DEFAULT_ENCODING;
    public static final String DEFAULT_PREFIX = "classpath:/templates/";
    public static final String DEFAULT_SUFFIX = ".html";
    private boolean checkTemplate = true;
    private boolean checkTemplateLocation = true;
    private String prefix = "classpath:/templates/";
    private String suffix = ".html";
    private String mode = "HTML";
    private Charset encoding;
}

找到前缀后缀,把我们的html页面放到对应的路径(/templates/),thymeleaf会自动进行渲染,无需任何配置。

测试

  1. TestController
    @Controller
    public class TestController {
        @RequestMapping("/test01")
        public String test01(){
            return "test01";
        }
    }
  2. 新建test01.html放到路径下
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h1>Testttt</h1>
    </body>
    </html>
  3. 启动项目请求接口,会跳转到该页面

Thymeleaf练习

 要使用thymeleaf,要在html文件html标签中导入命名空间的约束

 xmlns:th="http://www.thymeleaf.org"

练习

1.增加传输数据

@RequestMapping("/test")
public String test1(Model model){
    //添加数据
    model.addAttribute("msg","Hello,Thymeleaf");
    return "test";
}

2.绑定

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>测试01</title>
</head>
<body>
<h1>测试</h1>
<!--th:text就是把div中的内容设置指定的值-->
<div th:text="${msg}"></div>
</body>
</html>

3.结果

Thymeleaf入门

上一篇:springboot 整合themeleaf无法跳转页面


下一篇:thymeleaf多重${}