第3章 Thymeleaf模板渲染

本文详细介绍了Thymeleaf在Spring Boot中的应用,包括编程起步、读取资源文件、路径处理、内置对象操作、对象输出、页面逻辑处理、数据迭代、包含指令以及数据处理。Thymeleaf简化了Web开发中的路径处理,支持内置对象和方法调用,能够方便地处理集合和字符串数据,以及日期格式化。
摘要由CSDN通过智能技术生成

第3章 Thymeleaf模板渲染

3.2 Thymeleaf编程起步

Thymeleaf需要按照传统MVC设计模式的方式来进行处理,所以在定义控制器的时候必须使用@Controller注解来完成。通过控制器的Model类对象,可以传递相应属性到页面中显示。

1.【mldnboot-thymeleaf项目】建立ThymeleafController程序类,该类将跳转到Thyemelaf模板页面。

2.【mldnboot-thymeleaf项目】ThymeleafController控制器会跳转到message目录下的message_show.html页面进行显示,而该页面一定要在CLASSPATH路径下配置。为了结构清晰,本程序将建立一个src/main/view的源文件,并且必须建立templates目录,随后在这个目录下创建所需要的子目录(本程序需要创建message子目录)。项目最终的目录结构如图3-1所示

图3-1 Thymeleaf模板目录结构

提示:修改Thymeleaf的默认配置。

SpringBoot项目中Thymeleaf的动态页面需要保存在templates目录中,页面的扩展名默认使用的是*.html,如果开发者觉得这样的设计不合理,也可以通过application.yml配置文件自行修改。

范例: 修改Thyemeleaf的配置项。

虽然SpringBoot中可以修改Thymeleaf的默认配置项,但是在实际开发中不建议修改,还是遵从默认配置比较合理。

3.【mldnboot-thymeleaf项目】编写message_show.html页面,实现控制层传递属性输出。

image-20221202132443298

3.4 读取资源文件

SpringBoot项目中的资源文件会统一在application.yml配置文件中定义。当页面需要使用的时候,可以像输出属性一样完成,唯一的区别是需要通过“#{key}”的形式来获取资源内容。

1.【mldnboot-thymeleaf项目】在application.yml配置文件中定义资源文件配置。

image-20221202133603797

2.【mldnboot-thymeleaf项目】在Messages.properties配置文件里面定义资源内容。

image-20221202133613134

3.【mldnboot-thymeleaf项目】要读取资源文件,需要动态页面的支持。在Thyemeleaf Controller控制器中建立一个新的方法,用于跳转到前端页面。

image-20221202133622567

4.【mldnboot-thymeleaf项目】在src/main/view/templates/message目录中创建message_value.html页面,用于读取资源文件内容并进行显示。

image-20221202133632077

在Thyemeleaf模板页面中直接使用资源的key获取资源信息,页面运行效果如图3-6所示。

image-20221202133642225

图3-6 Thyemeleaf模板页面读取资源文件

3.5 路径处理

Web开发过程中,路径的处理操作是最为麻烦的。如果要进行准确的路径定位,最好使用完整的路径,并明确写上用户的协议、主机名称、端口以及虚拟目录的名称。这些处理的难点在于Thymeleaf彻底消失了,因为其路径访问变得相当容易,只需要在动态页面中使用“@{路径}”即可访问。

提示:回顾原始实现。

在进行Web项目开发的过程中,相信不少开发者都编写过如下的类似代码:

image-20221202133821784

而后再使用元素()进行引用,可以解决路径操作问题。

1.【mldnboot-thymeleaf项目】在ThymeleafController中创建一个新的方法,用于跳转。

image-20221202133938513

2.【mldnboot-thymeleaf项目】建立src/main/view/templates/message/message_path.html页面。

image-20221202133844221

在message_path.html页面中继续引用之前定义了的资源,而采用“@{路径}”的形式使得资源引用也十分简单,页面运行效果如图3-7所示。

image-20221202133923972

图3-7 Web资源引入

3.6 内置对象操作支持

在模板页面中,最为常用的功能就是输出控制器传递的属性。为了方便用户开发,Thymeleaf支持内置对象的直接使用,也可以直接调用内置

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值