TYUT-企业级开发教程-第四章

这章考的内容不多

Thymleaf是什么

为Springboot官方推荐使用的模板引擎,创建的模板可维护性非常高。

使开发人员能够在设计原型不变的情况下,将程序和逻辑注入文件模板中。

特点:

1.动静结合
Thymeleaf可以查看页面的静态效果和动态页面效果。如果直接使用浏览器打开模板文件,浏览器会忽略未定义的 Thymeleaf标签属性,展示 Thymeleaf模板文件的静态页面效果:当通过 Web应用程序访问模板文件时,Thymeleaf 会根据获取到的数据对文件进行渲染,使页面进行动态显示
2.开箱即用Thymeleaf 提供了 Spring标准方言,以及与 Spring MVC完美集成的可选模块,可以快速地实现表单绑定、属性编辑器、国际化等功能。
3.多方言支持
Thymeleaf 是可扩展的模板引擎,提供了 Thymeleaf标准和 Spring标准方言,可以直接套用模板实现JSTL、OGNL表达式。如果用户希望在利用库的高级特性的同时定义自己的处理逻辑,则可以定义自己的方言

4.与Springboot完美整合

Spring Boot为Thymeleaf整合提供了自动配置支持,并且为他设置了视图解析器。

Thymeleaf 常用的 th 属性 

属性           作用
th:each       用于遍历,可以遍历集合、数组等对象。
th:if         根据条件判断是否需要展示此标签
th:unless     和 th:if 判断相反,满足条件时不显示
th:switch     与 Java 的 switch 语句类似,通常与 th:case 配合使用,根据不同的条件展示不同的内容
th:case       条件判断,进行选择性匹配
th:object     用于绑定数据对象
th:with       定义局部变量
th:action 表单提交地址
th:attr 动态拼接属性值
th:onclick 绑定鼠标单击事件
th:value 替换 value 属性的值
th:href 用于设定链接地址
th:src 用于替换 src 属性的值 ,设定链接地址
th:text 文本替换,转义特殊字符

th:utext 文本替换,不转义特殊字符
th:fragment 声明片段,类似 JSP 的 tag ,用来定义一段被引用或包含的模板片段
th:insert 用于指定在模板中插入其他模板片段,类似 JSP 中的 include 标签,
可以通过 th:fragment 属性定义要被替换进来的片段
th:replace 用于将指定位置的内容替换为指定的模板片段,可以通过
th:fragment 属性定义要被替换进来的片段
th:block 创建区域块,如果内容为空则不创建

 变量表达式

Thymeleaf 标准表达式主要分为变量表达式、选择表达式、消息表达式、链接表达式
、分段表达式

变量表达式

<p th:text="${title}"> 这是标题 </p>

<p th:text="${user.name}"> 这是标题 </p>
<p th:text="${user.info()}"> 这是标题 </p>

Thymeleaf 为变量所在域提供了一些内置对象。
 #ctx :上下文对象。
 #vars :上下文变量。
 #locale :上下文语言环境。
 #request : HttpServletRequest 对象,仅在 Web 应用中可用。
 #response : HttpServletResponse 对象,仅在 Web 应用中可用。
 #session : HttpSession 对象,仅在 Web 应用中可用。
 #servletContext : ServletContext 对象,仅在 Web 应用中可用

选择表达式

Thymeleaf 中使用 *{} 包裹内容的表达式被称为选择表达式,选择表达式与变量表达式功能基本一致
,只是选择表达式计算的是绑定的对象,而不是整个环境变量映射。标签中通过“ th:object” 属性
绑定对象后,可以在该标签的后代标签中使用选择表达式( *{...} )访问该对象中的属性,其
中,“ *” 即代表绑定的对象

<div th:object="${user}" >
<p th:text="*{username}">name</p>
</div>

消息表达式

Thymeleaf 中使用 #{} 包裹内容的表达式被称为消息表达式,消息表达式可以显示静态文本的内容,
通常与 th:text 属性一起使用。消息表达式显示的内容通常是读取配置文件中信息,在 #{} 中指定配置
文件中的 Key ,则会在页面中显示配置文件中 Key 对应的 Value 。

<p th:text="#{location}"></p> 读取项目 Properties 配置文件

链接表达式

分段表达式

不用看

第四章题目

一、填空题
1.Thymeleaf的   th:if   属性根据条件判断是否需要展示此标签。
2.Thymeleaf中使用 ${}    包裹内容的表达式被称为变量表达式。

${} ->变量    *{}->选择  #{} 消息 @{} 地址

 
3.使用Thymeleaf  变量   表达式可以访问容器上下文中的变量
4.Thymeleaf的选择表达式计算的是  绑定的对象   。 
5.Spring Boot整合Thymeleaf后,模板文件的默认后缀为  .html  。 

二、判断题
1.Thymeleaf是采用Java语言编写的模板引擎。 (对 )
2.Thymeleaf的th属性可以直接在HTML标签中使用。 (对 )
3.Thymeleaf的th:each属性用于遍历,可以遍历集合、数组等对象。 ( 对)
4.Thymeleaf 默认会在/resources/templates/目录下根据模版名查找对应的模板文件。 (对 )
5. 链接表达式中包裹的内容可以是绝对URL或相对URL地址。( 对)

三、选择题
1.下列选项中,关于Thymeleaf的描述错误的是(A)。 
A.Thymeleaf是采用Python语言编写的模板引擎。
B.Thymeleaf可用于非Web环境中的应用开发。
C.Thymeleaf浏览器可以直接打开模板文件。
D.Thymeleaf是Spring Boot官方推荐使用的模板引擎。

解析:

Thymeleaf是采用Java语言编写的模板引擎。


2.下列选项中,对于Thymeleaf的特点描述错误的是(B)。 
A.Thymeleaf提供了Spring标准方言。
B.如果直接使用浏览器打开模板文件,浏览器不解析未定义的Thymeleaf标签属性,导致页面打开错误。
C.Thymeleaf可以创建自己的方言。
D.Spring Boot为Thymeleaf整合提供了自动配置支持。

解析:

如果直接使用浏览器打开模板文件,浏览器会忽略未定义的 Thymeleaf标签属性,展示 Thymeleaf模板文件的静态页面效果:


3.下列选项中,用于根据条件判断是否需要展示当前标签的Thymeleaf属性是(B)。 
A.th:each   B.th:if   C.th:value   D.th:object


4.下列选项中,对于Thymeleaf的内置对象描述错误的是(D)。 
A.#request对应HttpServletRequest对象。
B.#response对应HttpServletResponse对象。
C.#session对应HttpSession对象。
D.#servletContext对应上下文变量。 vars对应上下文变量

解析:

Thymeleaf 为变量所在域提供了一些内置对象。
 #ctx :上下文对象。
 #vars :上下文变量。
 #locale :上下文语言环境。
 #request : HttpServletRequest 对象,仅在 Web 应用中可用。
 #response : HttpServletResponse 对象,仅在 Web 应用中可用。
 #session : HttpSession 对象,仅在 Web 应用中可用。
 #servletContext : ServletContext 对象,仅在 Web 应用中可用

5.下列选项中,关于Thymeleaf的表达式描述错误的是( B)。 
A.变量表达式中也使用内置对象直接访问内置对象的属性。
B.选择表达式是对整个应用环境的变量进行映射。
C.在#{}中指定配置文件中的Key,则会在页面中显示配置文件中Key对应的Value。
D.Thymeleaf会将链接表达式中开头的斜杠(/),解析为当前工程的上下文路径ContextPath。

解析:

只是选择表达式计算的是绑定的对象,而不是整个环境变量映射

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值