码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 第3章 Thymeleaf模板渲染


    文章目录

    • 第3章 Thymeleaf模板渲染
        • 3.2 Thymeleaf编程起步
        • 3.4 读取资源文件
        • 3.5 路径处理
        • 3.6 内置对象操作支持
        • 3.7 对象输出
        • 3.8 页面逻辑处理
        • 3.9 数据迭代处理
        • 3.10 包含指令
        • 3.11 Thymeleaf数据处理
        • 3.12 本章小结
        • 3.12 本章小结

    第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项目开发的过程中,相信不少开发者都编写过如下的类似代码:

  • 相关阅读:
    SpringBoot世上最简洁的概况说明
    【基础】性能测试,从0到实战(手把手教,非常实用)
    Swappin.gifts 在 Ambire dApp 中推出独家促销活动
    IT廉连看——Uniapp——配置文件pages
    java日期类选择
    新加坡国际学校年年IB成绩领先,到底有何优势?
    .NET Core Web APi类库如何内嵌运行?
    Linux之monitorix监控nginx实践
    scss使用自定义函数实现单位像素随屏幕比例动态缩放
    Docker-compose
  • 原文地址:https://blog.csdn.net/KongZhongNiao/article/details/128151896
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号