首页 > 其他分享 >学习springboot2的第7天(2021-12-06)43-视图解析-Thymeleaf初体验

学习springboot2的第7天(2021-12-06)43-视图解析-Thymeleaf初体验

时间:2022-11-17 12:38:11浏览次数:50  
标签:12 spring boot springframework Thymeleaf 初体验 视图 org starter


学习springboot2的第7天(2021-12-06)43-视图解析-Thymeleaf初体验

视图解析:指的就是springboot在处理完请求之后想要跳转到某个页面的过程。

springboot默认不支持JSP,需要引入第三方模板引擎技术实现页面渲染。

学习springboot2的第7天(2021-12-06)43-视图解析-Thymeleaf初体验_maven


springboot默认打包方式为jar包,他是一个压缩包

jsp不支持在一个压缩包内编译的方式。

所以springboot默认不支持jsp

想要实现页面跳转,就要借助第三方的模板引擎。

springboot它支持哪几个模板引擎呢?

1、freemarker

2、groovy-templates

3、Thymeleaf

学习模板引擎里面的Thymeleaf
1、先引入依赖:

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

当前所有的pom文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.rtl.boot</groupId>
<artifactId>boot-05-web-01</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>boot-05-web-01</name>
<description>boot-05-web-01</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>

</project>

Thymeleaf的前后缀的定义:

学习springboot2的第7天(2021-12-06)43-视图解析-Thymeleaf初体验_springboot2_02


前缀:

这些页面的文件在类路径下的templates文件夹下面

后缀:

.html

准备写一个Thymeleaf的helloworld

1、在templates文件夹下面新建文件:success.html

学习springboot2的第7天(2021-12-06)43-视图解析-Thymeleaf初体验_xml_03


学习springboot2的第7天(2021-12-06)43-视图解析-Thymeleaf初体验_spring_04


你看,我们引入了Thymeleaf的依赖之后,新建的xml配置文件都直接有这个命名空间,这个空间是用来写代码的时候会提示。

学习springboot2的第7天(2021-12-06)43-视图解析-Thymeleaf初体验_maven_05

现在准备写一个请求,直接跳转到success.html页面

新建一个ViewTestController

学习springboot2的第7天(2021-12-06)43-视图解析-Thymeleaf初体验_springboot2_06


跳转到的success页面里面可以获取到刚才在Mode里面设置的msg属性值。

通过语法

th:text="${msg}

来取出msg的值helloThymeleaf

学习springboot2的第7天(2021-12-06)43-视图解析-Thymeleaf初体验_springboot2_07


浏览器访问:http://localhost:8080/helloThymeleaf

学习springboot2的第7天(2021-12-06)43-视图解析-Thymeleaf初体验_xml_08


标签:12,spring,boot,springframework,Thymeleaf,初体验,视图,org,starter
From: https://blog.51cto.com/u_15881639/5860637

相关文章

  • 12_Kafka高级_文件存储
    实际上能看到的就是topicName+partitionID这个文件。这个文件下有两个东西很重要。.log结尾的文件是真正存储数据的。.index是存放索引的。先看看.log文件:默认会存储7......
  • 【2022-11-12】搞好关系
    20:00过去事已过去了,未来不必预思量。只今只道只今句,梅子熟时栀子香。                              ......
  • CTFshow刷题日记-WEB-PHP特性(下篇123-150)
    web123,125,126error_reporting(0);highlight_file(__FILE__);include("flag.php");$a=$_SERVER['argv'];$c=$_POST['fun'];if(isset($_POST['CTF_SHOW'])&&isset($_POST['C......
  • Python中为啥 int('12', 16) 的结果是 18?
    大家好,我是皮皮。一、前言前几天在Python白银交流群【SamYao】问了一个Python基础的问题,提问截图如下:二、实现过程其实他自己发出来的解析已经比较清晰了,如下图所示:......
  • 128-hql 转 sql
    Stringtest(Stringhql){ QueryTranslatorImpltranslator=newQueryTranslatorImpl("queryIdentifier",hql, Collections.EMPTY_MAP,(SessionFactoryImplemento......
  • 【221116-3】已知12的a次方=18,求2的(2a-1)/(a-2)次方。
    ......
  • 【221116-7】简算题:125*37*54
    ......
  • P1297 [国家集训队]单选错位
    题目描述gx和lc去参加noip初赛,其中有一种题型叫单项选择题,顾名思义,只有一个选项是正确答案。试卷上共有n道单选题,第i道单选题有\(a_i\)个选项,这\(a_i\)个选......
  • oled显示屏(128*64bit)使用——stm32学习总结
    正点原子oled显示屏教程,驱动程序有些缺陷:1.正点采用的取模方式:从上到下,再从左到右,纵向8点上高位。虽然正点原子提供了取模软件,但是软件的图像取模,没有自带滤波以及色阶选......
  • 12-Go语言进阶-02
    并发编程并发、并行并发:同一时间段,两个程序轮流执行。并行:两个程序同时执行,需要有多核CPU的支持才能实现。并行不一定就比并发速度快,因为线程或进程之间的通信开销很......