thymeleaf模版引擎

  1. 什么是模版引擎?

    模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。

  2. Thymeleaf介绍

    • Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎。

    • Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板 -HTML可以在浏览器中正确显示,也可以作为静态原型工作,从而可以在开发团队中加强协作。

    • 动静结合:页面采用模板+数据的方式,在前端美工手中,可以展示静态页面。在后台开发人员手中,也可以展示数据返回到页面后的界面。

    • 开箱即用:它提供标准和spring标准两种方言,可以直接套用模板实现JSTL、 OGNL表达式效果。

    • 多方言支持:Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。

    • 与SpringBoot完美整合:SpringBoot提供了Thymeleaf的默认配置,并且为Thymeleaf设置了视图解析器,我们可以像以前操作jsp一样来操作Thymeleaf。

  3. Thymeleaf的使用

    • 添加依赖
     <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
     </dependency>
    
    • 添加配置
    spring.thymeleaf.cache=false
    
  4. Thymeleaf的配置

    #spring.thymeleaf.cache = true #启用模板缓存。
    
    #spring.thymeleaf.check-template = true #在呈现模板之前检查模板是否存在。
    
    #spring.thymeleaf.check-template-location = true #检查模板位置是否存在。
    
    #spring.thymeleaf.content-type = text / html #Content-Type值。
    
    #spring.thymeleaf.enabled = true #启用MVC Thymeleaf视图分辨率。
    
    #spring.thymeleaf.encoding = UTF-8 #模板编码。
    
    #spring.thymeleaf.excluded-view-names = #应该从解决方案中排除的视图名称的逗号分隔列表。
    
    #spring.thymeleaf.mode = HTML5 #应用于模板的模板模式。另请参见StandardTemplateModeHandlers。
    
    #spring.thymeleaf.prefix = classpath:/ templates / #在构建URL时预先查看名称的前缀。
    
    #spring.thymeleaf.suffix = .html #构建URL时附加到查看名称的后缀。
    
    #spring.thymeleaf.template-resolver-order = #链中模板解析器的顺序。
    
    #spring.thymeleaf.view-names = #可以解析的视图名称的逗号分隔列表。/ templates / #在构建URL时先查看名称的前缀。
    #spring.thymeleaf.suffix = .html #构建URL时附加到查看名称的后缀。
    
    #spring.thymeleaf.template-resolver-order = #链中模板解析器的顺序。
    
    #spring.thymeleaf.view-names = #可以解析的视图名称的逗号分隔列表。/ templates / #在构建URL时先查看名称的前缀。
    
    #spring.thymeleaf.suffix = .html #构建URL时附加到查看名称的后缀。
    
    #spring.thymeleaf.template-resolver-order = #链中模板解析器的顺序。
    
    #spring.thymeleaf.view-names = #可以解析的视图名称的逗号分隔列表。
    
  5. th属性

    • th:text:文本替换;

    • th:utext:支持html的文本替换。

    • th:value:属性赋值

    • th:each:遍历循环元素

    • th:if:判断条件,类似的还有th:unless,th:switch,th:case

    • th:insert:代码块引入,类似的还有th:replace,th:include,常用于公共代码块提取的场景

    • th:fragment:定义代码块,方便被th:insert引用

    • th:object:声明变量,一般和*{}一起配合使用,达到偷懒的效果。

    • th:attr:设置标签属性,多个属性可以用逗号分隔

  6. 标准表达式语法

    • ${...} 变量表达式,Variable Expressions

    • @{...} 链接表达式,Link URL Expressions

    • '#{...}' 消息表达式,Message Expressions

    • ~{...} 代码块表达式,Fragment Expressions

    • *{...} 选择变量表达式,Selection Variable Expressions

posted @ 2024-05-16 13:52  Hanyta  阅读(10)  评论(0编辑  收藏  举报