当前位置: 首页 > news >正文

springboot(四)

视频链接:https://www.bilibili.com/video/BV1XQ4y1m7ex/?vd_source=9545770e4a2968c05878ffac8589ec6c
视频选集:P93— P130

文章目录

  • Thymeleaf模板
  • 1.模板的第一个例子
  • 2.模板引擎的常用设置
  • 3.标准变量表达式
    • 3.1 ${key}
    • 3.2 *{key}
    • 3.3 @{url}
  • 4.Thymeleaf属性
    • 4.1 基本属性
    • 4.2 each
      • 4.2.1 List
      • 4.2.2 循环Array
      • 4.2.3 循环Map
      • 4.2.4 List-Map
    • 4.3 条件判断if
    • 4.4 unless
    • 4.5 switch
    • 4.6 th:inline
      • 4.6.1 内联text
      • 4.6.2 内联javascript
  • 5.字面量
  • 6.字符串连接
  • 7.运算符
  • 8. Thymeleaf基本对象
    • 8.1 内置对象
    • 8.2 内置对象的方法
      • 8.2.1 #request
      • 8.2.1 #session
    • 8.3 内置对象查看文档
  • 9.Thymeleaf内置工具类对象
    • 9.1 #dates
    • 9.2 #number
    • 9.3 #strings
    • 9.4 #lists
    • 9.5 null处理
  • 10.内容复用
    • 10.1 定义模板
    • 10.2 insert模板
    • 10.3 include模板
    • 10.4 整个html文件作为模板
    • 10.5 使用其它目录中的模板

Thymeleaf模板

  • Thymeleaf是一个流行的模板引擎,该模板引擎采用Java语言开发
  • Thymeleaf:是使用java开发的模板技术,在服务器端运行。把处理后的数据发送给浏览器。
    模板是作视图层工作的。显示数据的。Thymeleaf是基于Html语言。Thymleaf语法是应用在html标签中。SpringBoot框架集成Thymealeaf,使用Thymeleaf代替jsp。
  • 模板引擎是一个技术名词,是跨领域跨平台的概念,在 Java语言体系下有模板引擎,在C#、PHP语言体系下也有模板引擎,甚至在JavaScript 中也会用到模板引擎技术,Java 生态下的模板引擎有Thymeleaf 、 Freemaker、Velocity、Beetl(国产)等。
  • Thymeleaf对网络环境不存在严格的要求,既能用于Web环境下,也能用于非 Web环境下。在非 Web环境下,他能直接显示模板上的静态数据;在 Web环境下,它能像Jsp一样从后台接收数据并替换掉模板上的静态数据。它是基于HTML的,以HTML标签为载体,Thymeleaf要寄托在HTML标签下实现。
  • Spring Boot集成了Thymeleaf模板技术,并且Spring Boot官方也推荐使用Thymeleaf 来替代JSP技术,Thymeleaf是另外的一种模板技术,它本身并不属于Spring Boot,Spring Boot只是很好地集成这种模板技术,作为前端页面的数据展示,在过去的Java Web开发中,我们往往会选择使用Jsp去完成页面的动态渲染,但是jsp需要翻译编译运行,效率低
  • Thymeleaf的官方网站: http://www.thymeleaf.org
  • Thymeleaf官方手册: https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html

1.模板的第一个例子

定义controller:
在这里插入图片描述
定义html文件:

在这里插入图片描述

效果:

在这里插入图片描述
为了不报红:

在这里插入图片描述

另一种访问:

在这里插入图片描述
在这里插入图片描述
运行效果:

在这里插入图片描述

2.模板引擎的常用设置

在这里插入图片描述

在这里插入图片描述

3.标准变量表达式

新建项目,配置配置文件:

在这里插入图片描述

3.1 ${key}

在这里插入图片描述
定义实体类:

在这里插入图片描述
创建jsp页面:

在这里插入图片描述

定义controller:
在这里插入图片描述
再定义jsp页面:

在这里插入图片描述

3.2 *{key}

在这里插入图片描述

controller:

在这里插入图片描述
在这里插入图片描述

3.3 @{url}

在这里插入图片描述

controller:

在这里插入图片描述

在这里插入图片描述
jsp页面:

在这里插入图片描述
测试:

在这里插入图片描述
还有其它的传参方式:

在这里插入图片描述

4.Thymeleaf属性

4.1 基本属性

controller:

在这里插入图片描述

html文件:

在这里插入图片描述

测试效果:

在这里插入图片描述
其它属性:

在这里插入图片描述

4.2 each

在这里插入图片描述
在这里插入图片描述

4.2.1 List

在这里插入图片描述

controller:

在这里插入图片描述

html页面:

在这里插入图片描述
测试:

在这里插入图片描述

修改显示表格:
在这里插入图片描述

重新测试效果:

在这里插入图片描述
局部参数:

测试:
在这里插入图片描述

在这里插入图片描述

4.2.2 循环Array

controller:

在这里插入图片描述
定义html界面:

在这里插入图片描述
测试运行结果:

在这里插入图片描述

4.2.3 循环Map

controller:
在这里插入图片描述
html界面:

在这里插入图片描述

在这里插入图片描述

4.2.4 List-Map

controller:

在这里插入图片描述

html:

在这里插入图片描述

测试:

在这里插入图片描述

4.3 条件判断if

在这里插入图片描述

controller:

在这里插入图片描述
html页面:

在这里插入图片描述

测试:

在这里插入图片描述

4.4 unless

在这里插入图片描述

4.5 switch

在这里插入图片描述
controller:

在这里插入图片描述
html:
在这里插入图片描述
测试:

在这里插入图片描述

4.6 th:inline

th:inline有三个取值类型(text, javascript和 none)

4.6.1 内联text

在这里插入图片描述

controller:

在这里插入图片描述
html:

在这里插入图片描述

测试:

在这里插入图片描述

4.6.2 内联javascript

在这里插入图片描述
效果:

在这里插入图片描述

5.字面量

有文本字面量、数字字面量、boolean字面量、null字面量

controller:

在这里插入图片描述
html:
在这里插入图片描述

测试效果:

在这里插入图片描述

6.字符串连接

在这里插入图片描述
controller:

在这里插入图片描述
html:
在这里插入图片描述

测试:
在这里插入图片描述

7.运算符

在这里插入图片描述

controller:
在这里插入图片描述

html:
在这里插入图片描述

测试:
在这里插入图片描述

8. Thymeleaf基本对象

模板引擎提供了一组内置的对象,这些内置的对象可以直接在模板中使用,这些对象由#号开始引用,我们比较常用的内置对象:
#request表示HttpServletRequest
#session表示HttpSession对象
session对象,表示Map对象,是#session的简单表达方式,用来获取session中指定的key的值
在这里插入图片描述

这些是内置对象,可以在模板文件中直接使用

8.1 内置对象

controller:

在这里插入图片描述
html:
在这里插入图片描述

测试:
在这里插入图片描述

8.2 内置对象的方法

8.2.1 #request

controller用上面的
html:
在这里插入图片描述

测试:
在这里插入图片描述
在这里插入图片描述

8.2.1 #session

html:
在这里插入图片描述
测试:

在这里插入图片描述](https://img-blog.csdnimg.cn/b2b2c0bb56874a358d396f54036d5817.png)

8.3 内置对象查看文档

在这里插入图片描述

html:

在这里插入图片描述

测试:

在这里插入图片描述

9.Thymeleaf内置工具类对象

在这里插入图片描述

创建cat类:

在这里插入图片描述
创建dog类:
在这里插入图片描述
zoo类:

在这里插入图片描述
controller:
在这里插入图片描述

9.1 #dates

html:
在这里插入图片描述

测试:

在这里插入图片描述

9.2 #number

html:

在这里插入图片描述
测试:
在这里插入图片描述

9.3 #strings

html:
在这里插入图片描述

测试:
在这里插入图片描述

9.4 #lists

html:
在这里插入图片描述

测试:
在这里插入图片描述

9.5 null处理

controller:
在这里插入图片描述

html:
在这里插入图片描述
注意:?是判断是否为空,如果为空就不取

测试:
在这里插入图片描述

10.内容复用

10.1 定义模板

模板是内容复用,定义一次。在其他的模板文件中多次使用。
模板使用:

  1. 定义模板
  2. 使用模板

在这里插入图片描述
在这里插入图片描述
html:

在这里插入图片描述
在这里插入图片描述

10.2 insert模板

controller:
在这里插入图片描述
html:

在这里插入图片描述

测试:
在这里插入图片描述

10.3 include模板

html:

测试:

在这里插入图片描述
源代码;

在这里插入图片描述

10.4 整个html文件作为模板

html:
在这里插入图片描述

html:
在这里插入图片描述

测试:
在这里插入图片描述

10.5 使用其它目录中的模板

在其它目录中定义html:
在这里插入图片描述
调用:
在这里插入图片描述

测试:

在这里插入图片描述

相关文章:

  • c#对控件的操作无效,子线程调用主线程的控件
  • Java23种设计模式-结构型模式之外观模式
  • 【Python打包exe文件】
  • Vue-路由护卫
  • 内容分发网络CDN分布式部署加速原理
  • flutter 设置全屏 和隐藏状态栏和导航栏
  • 【C++私房菜】序列式容器的迭代器失效问题
  • 在Pycharm中运行Django项目如何指定运行的端口
  • KaiwuDB 拿下“物联之星”双项殊荣
  • 网络初识(概念入门)
  • Zookeeper客户端命令、JAVA API、监听原理、写数据原理以及案例
  • Linux 不同架构、不同系统的问题
  • 基于腾讯云Docker部署PXC搭建MySQL集群
  • Node.js:模块化
  • java面试-GC垃圾回收机制
  • 没有谷歌翻译,我该怎么办?
  • Java Web Spring核心之AOP的解析及实战(AOP的实现、切入点、Aspect Spring的持久化 Hibernate)
  • kali中实用的小工具
  • C++ 算法竞赛中的排序算法
  • 斯坦福大学吴恩达教授最新来信:AI, GPU和芯片的未来
  • 高薪程序员面试题精讲系列155之项目介绍,说说你最熟悉的项目,遇到了哪些困难?
  • “数据中台、读写分离、表分区”解决MySQL 单表数据量、并放量双高的效率瓶颈
  • 调用百度云语音转文本
  • SDWAN的功能和场景应用
  • JS 第三课(JS的变量类型和数据类型)
  • Matlab论文插图绘制模板第56期—曲面图(Surf)
  • 全志 Tina Linux 存储介质切换:eMMC,SPI NAND,SPI NOR,SD Card,SD NAND
  • FPGA—从加法运算理解流水线的作用
  • C++从入门到精通 C++98.11.14.17
  • 基于单片机的16×16点阵的滚动显示屏设计
  • LeetCode 940. 不同的子序列 II
  • 【VUE基础】webpack