Thymeleaf 使用总结(一)

本文总结了Thymeleaf模板引擎的使用,包括非严格声明配置、th标签的整理,如简单表达式、表达式基本对象和功能对象,以及th:include、th:text、th:each等特性。Thymeleaf是Spring Boot推荐的模板引擎,用于实现视图和数据的分离。此外,还介绍了form表单提交和validation验证的相关注意事项。
摘要由CSDN通过智能技术生成
模板引擎

模板的诞生是为了将显示与数据分离,模板技术多种多样,但其本质是将模板文件和数据通过模板引擎生成最终的HTML代码。

模板技术并不是什么神秘技术,干的是拼接字符串的体力活。模板引擎就是利用正则表达式识别模板标识,并利用数据替换其中的标识符。

Thymeleaf 使用总结

  • Thymeleaf 是一个Java类库,它是一个xml/xhtml/html5的模板引擎,可以作为MVC的web应用的View层。
  • Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。
    是Springboot推荐使用的模板引擎。
  • spring-boot下,默认约定了Controller试图跳转中thymeleaf模板文件的前缀prefix是”classpath:/templates/”,后缀suffix是”.html”
1、非严格声明

在默认配置(spring.thymeleaf.mode的默认值是HTML5)下,thymeleaf对.html的内容要求很严格
因此,改为LEGACYHTML5可以得到一个可能更友好亲切的格式要求。建议增加下面这段:

spring.thymeleaf.mode = LEGACYHTML5
或yml格式文件
#thymeleaf
  thymeleaf:
      mode: LEGACYHTML5
      cache: false

pom.xml中增加

    <dependency>
        <groupId>net.sourceforge.nekohtml</groupId>
        <artifactId>nekohtml</artifactId>
        <version>1.9.22</version>
    </dependency>
2、th标签整理
1)简单表达式
  • 变量表达式 ${……}
  • 选择/星号表达式 *{……} 选择表达式一般跟在th:object后,直接取object中的属性。
  • 文字国际化表达式 #{……} 调用国际化的welcome语句,国际化资源文件如下
  • URL表达式 @{……} 二维码
2)表达式基本对象

在上下文变量评估OGNL表达式时,一些对象表达式可获得更高的灵活性。这些对象将由#号开始引用。

  • #ctx: 上下文对象.
  • #vars: 上下文变量.
  • #locale: 上下文语言环境.
  • #httpServletRequest: (仅在web上文)HttpServletRequest 对象.
  • #httpSession: (仅在web上文) HttpSession 对象.
3)表达式功能对象
  • #dates:java.util.Date对象的实用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值