thymeleaf



  • springboot默认打包为jar包,jar包是一个压缩包,但是jsp不支持在压缩包内编译,因此springboot默认不支持jsp

  • Spring官方支持的服务的渲染模板有Thymeleaf和Freemarker等,Thymeleaf是用来开发Web和独立环境项目的服务器端的Java模版引擎

  • 缺点:Thymeleaf效率不高



表达式


引入Thymeleaf的starter

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

在html文件中引入命名空间

<html lang="en" xmlns:th="http://www.thymeleaf.org">


例子

success.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1 th:text="${msg}">啊哈哈</h1>
<h2><a href="www.baidu.com" th:href="${link}">去百度</a></h2>
</body>
</html>

ViewController:

@Controller
public class ViewController {

    @RequestMapping("/haha")
    public String haha(Model model){

        //model中的数据会被自动放到请求域中,相当于request.setAttribute("a",aa)
        model.addAttribute("msg","你好");
        model.addAttribute("link","https://www.bilibili.com");
        return "success";
    }
}


全局配置文件中配置Thymeleaf模板的一些参数


spring.thymeleaf.cache = true #启用模板缓存

spring.thymeleaf.encoding = UTF-8 #模板编码

spring.thymeleaf.mode = HTML5 #应用于模板的模板模式

spring.thymeleaf.prefix = classpath:/templates/ #指定模板页面存放路径

spring.thymeleaf.suffix = .html #指定模板页面名称的后缀


  • pring.thymeleaf.cache表示是否开启Thymeleaf模板缓存,默认为true,在开发过程中通常会关闭缓存,保证项目调试过程中数据能够及时响应;

  • spring.thymeleaf.prefix指定了Thymeleaf模板页面的存放路径,默认为classpath:/templates/;

  • spring.thymeleaf.suffix指定了Thymeleaf模板页面的名称后缀,默认为.html




posted @ 2022-03-03 11:54  卡卡发  阅读(97)  评论(0编辑  收藏  举报