其他分享
首页 > 其他分享> > SpringBoot⑧模板引擎

SpringBoot⑧模板引擎

作者:互联网

9、模板引擎

特指用于 Web开发的模板引擎

9.1、简介

在开发中,前端通过 HTML 编写页面,此时的页面(包括数据)是静态的,而我们想要的页面数据是动态展示的;

因此需要通过模板引擎来渲染页面,而之前的开发中使用的 JSP 就是一个模板引擎;

image-20211014004541012

9.2、Spring模板引擎

Spring MVC 支持多种模板技术,包括 ThymeleafFreeMarkerJSP 等。

9.2.1、JSP限制

JSP嵌入式 Servlet 容器(如Spring Boot 内置 Tomcat)同时使用时,有几个已知的限制,此时应避免使用 JSP

  1. JettyTomcat
    • 使用 war 打包:支持 JSP,并可以被部署到任何标准容器;
    • 使用 jar 打包:不支持 JSP
  2. Undertow:不支持 JSP
  3. 创建自定义error.jsp页面,不会覆盖错误处理的默认视图,需要改用 自定义错误页面

9.2.2、Spring Boot模板引擎

Spring Boot 支持自动配置的模板引擎

使用以下其中一个具有默认配置的模板引擎,自动从src/main/resources/templates获取模板:

9.2.3、类路径顺序

根据运行应用程序的方式,IDE 可能会对类路径进行不同的排序。

9.2、Thymeleaf

9.2.1、简介

Thymeleaf 官网

9.2.2、导入Spring Boot

spring-boot-starter-thymeleaf

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

image-20211014195152295

9.2.3、分析

进入 Thymeleaf 的自动配置类:ThymeleafProperties

image-20211014200610279

结论HTML 页面放在类路径下的 templates 目录下,Thymeleaf 会自动获取模板和数据,输出最终页面。

9.2.4、测试

  1. TestController

    @Controller
    public class TestController {
    
        @RequestMapping("/t1")
        public String test1(){
            return "test";
        }
    }
    
  2. 测试页面

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>测试Thymeleaf</title>
    </head>
    <body>
    测试Thymeleaf
    </body>
    </html>
    
  3. 启动项目进行测试

    image-20211014201227817

标签:SpringBoot,Spring,Thymeleaf,引擎,JSP,9.2,模板,页面
来源: https://www.cnblogs.com/secretmrj/p/15408340.html