资讯专栏INFORMATION COLUMN

SpringBoot引入Thymeleaf

dailybird / 787人阅读

摘要:简介是个模板引擎,可以用于与非应用的主要目标在于提供一种可被浏览器正确显示的格式良好的模板创建方式,因此也可以用作静态建模的可扩展性也非常棒。

1.Thymeleaf简介
  Thymeleaf是个XML/XHTML/HTML5模板引擎,可以用于Web与非Web应用
  Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式,因此也可以用作静态建模,Thymeleaf的可扩展性也非常棒。你可以使用它定义自己的模板属性集合,这样就可以计算自定义表达式并使用自定义逻辑,Thymeleaf还可以作为模板引擎框架。
2.引入Thymeleaf

引入依赖

在maven(pom.xml)中直接引入:


    org.springframework.boot
    spring-boot-starter-thymeleaf


    org.springframework.boot
    spring-boot-starter-web

配置Thymeleaf

在application.yml配置Thymeleaf

server:
  port: 8000
spring:
  thymeleaf:
    cache: false # 关闭页面缓存
    encoding: UTF-8 # 模板编码
    prefix: classpath:/templates/  # 页面映射路径
    suffix: .html # 试图后的后缀
    mode: HTML5 # 模板模式

# 其他具体配置可参考org.springframework.boot.autoconfigure.thymeleaf.ThymeleafProperties
# 上面的配置实际上就是注入该类的属性值

demo示例

创建IndexController

@Controller
public class IndexController {
    // 返回视图页面
    @RequestMapping("index")
    public String index(){
        return "index";
    }

}

      创建index.html




    
    Title


    Hello Thymeleaf!

      创建TestController

@RestController
public class TestController {
    
    // 返回整个页面
    @RequestMapping("/test")
    public ModelAndView test(){
        return new ModelAndView("test");
    }
}

      创建test.html




    
    Title


Hello Thymeleaf! 
By: ModelAndView

3.测试结果


4.Thymeleaf基础语法及使用
1.引入标签
   html标签里引入xmlns:th="http://www.thymeleaf.org"才能使用th:*这样的语法
2.引入URL
   @{...}
   例如:

绝对路径 是访问绝对路径下的URL, 相对路径 是访问相对路径下的URL。
是引入默认的static下的css文件夹下的bootstrap文件,类似的标签有: th:href 和 th:src 

3.获取变量
   通过${}取值,对于JavaBean的话,使用变量名.属性名获取
4.字符串替换


或者

注意:|…|中只能包含变量表达式${…},不能包含其他常量、条件表达式等

5.运算符
   在表达式中可以使用各类算术运算符
   例如 (+, -, *, /, %)
   例如:th:with="isEven=(${stat.number} % 1 == 0)"
   逻辑运算符 (>, <, <=,>=,==,!=)
   需要注意的是使用<,>的时候需要转义

th:if="${stat.number} > 1"
th:text=""Execution mode is " + ( (${execMode} == "dev")? "Development" : "Production")"

6.条件
   if/unless th:if是该标签在满足条件的时候才会显示,unless是不成立时候才显示

Login

   switch  thymeleaf支持switch结构,默认属性(default)用*表示

User is an administrator

User is a manager

User is some other thing

7.循环


    Onions
    2.41
    yes

8.Utilities

内置在Context中,可以直接通过#访问
#dates  
#calendars  
#numbers  
#strings  
arrays   
lists  
sets   
maps   
… 

5.小结
  本文讲述了如何在Spring Boot中引入模板引擎Thymeleaf以及Thymeleaf基础语法和实际使用

本文GitHub地址:https://github.com/ishuibo/Sp...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/74066.html

相关文章

  • springboot学习日志(二)-- thymeleaf学习

    摘要:本次学习如何使用以及相关语法在上一章写的那样引入包到工程同理配置配置模板设置在需要引用添加引用头下面记录一下的模板语法和稍微有些出入不过好在不需要修改文件类型直接将进行头部引用就可以使用标签引入路径或地址绝对路径进行访问相对路径进 本次学习如何使用thymeleaf以及相关语法1、在上一章写的那样 引入jar包到maven工程 org.springframewor...

    tanglijun 评论0 收藏0
  • springboot学习日志(二)-- thymeleaf学习

    摘要:本次学习如何使用以及相关语法在上一章写的那样引入包到工程同理配置配置模板设置在需要引用添加引用头下面记录一下的模板语法和稍微有些出入不过好在不需要修改文件类型直接将进行头部引用就可以使用标签引入路径或地址绝对路径进行访问相对路径进 本次学习如何使用thymeleaf以及相关语法1、在上一章写的那样 引入jar包到maven工程 org.springframewor...

    keithyau 评论0 收藏0
  • SpringBoot Kotlin 系列之HTML与WebFlux

    摘要:上一章我们提到过与,对于具体的介绍没说到,这一章我在这里简单介绍一下,既然提到和,那肯定得提到什么是响应式编程,什么是。 showImg(https://segmentfault.com/img/remote/1460000018819338?w=1024&h=500); 上一章我们提到过Mono 与 Flux,对于具体的介绍没说到,这一章我在这里简单介绍一下,既然提到Mono和Flu...

    crossoverJie 评论0 收藏0
  • 一起来学SpringBoot | 第四篇:整合Thymeleaf模板

    摘要:在使用上述模板,默认从下加载。介绍是现代化服务器端的模板引擎,不同与其它几种模板的是的语法更加接近,并且具有很高的扩展性。特点支持无网络环境下运行,由于它支持原型,然后在标签里增加额外的属性来达到模板数据的展示方式。 SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,...

    TZLLOG 评论0 收藏0
  • SpringBoot搭建一个SSM开发框架

    摘要:的子模块我们先讲层,因为我想把配置在这里也说下。长这样我们接下来看看每个子模块如何编写。二子模块搭建子模块搭建子模块配置在将之前,我们先将的配置文件,使用一个全局的配置文件或,我们推荐使用文件。 现在,我们来搭建一个简单的分模块的SSM开发框架吧, 一: 分析并创建项目 先来简单分析下我们项目的结构: 比如:我现在搭建一个管理系统,我们把项目分为: tx-parent 顶级父项目(公...

    tuomao 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<