SpringBoot+Thymeleaf使用简单介绍

一、什么是【Thymeleaf】

1、1Thymeleaf介绍:SpringBoot并不推荐使用jsp,Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP。

1、2Thymeleaf特点:

1、2、1动静结合:

1)Thymeleaf 在有网络和无网络的环境下皆可运行;

2)它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果;

3)这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式;

4)浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行;

5)当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。

1、2、2开箱即用:

1)它提供标准和spring标准两种方言,可以直接套用模板实现JSTL、 OGNL表达式效果;

2)避免每天套模板、该jstl、改标签的困扰。同时开发人员也可以扩展和创建自定义的方言。

1、2、3多方言支持:

1)Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块;

2)可以快速的实现表单绑定、属性编辑器、国际化等功能。

1、2、4与SpringBoot完美整合:

1)SpringBoot提供了Thymeleaf的默认配置;

2)为Thymeleaf设置了视图解析器,我们可以像以前操作jsp一样来操作Thymeleaf。

二、如何使用

2、1添加启动器:

在pom.xml文件添加以下内容

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

2、2创建模板文件夹:

默认位置:

【注:用快捷键Ctrl + Shift + n,弹出框输入ThymeleafProperties,就可以看到默认设置内容了】

thymeleaf属于spring,在application.yml的配置文件里加入以下内容,配置缓存,模式,编码
thymeleaf:
  cache: false
  mode: HTML5
  encoding: UTF-8

2、3引入名称空间

在html文件中加入以下内容:

<html lang="en" xmlns:th="http://www.thymeleaf.org">

2、4如何传值

使用spring【org.springframework.ui.Model】的Model接口对象进行传值,接口有如下方法

 

三、【th】标签具有的功能点

3、1——表达式:

    3、1、1${}:变量表达式 th:text="${变量名或者对象的属性名}";

    3、1、2*{} :选择变量表达式 th:obiect="${对象}" th:text="*{对象的属性名}"

    3、1、3#{...} : Message 表达式

3、2——URL:

    3、2、1绝对网址:绝对URL用于创建到其他服务器的链接,它们需要指定一个协议名称(http://或https://)开头,

例:<a th:href="@{https://www.baidu.com/}">

    3、2、2上下文相关URL:与Web应用程序根相关联URL,<a th:href="@{/test}">test</a>

    3、2、3与服务器相关URL,<a th:href="@{~/test}">test</a>【注:~【esc】下面那个键上面的值】

    【注关于URL区别:https://blog.csdn.net/qq_34316768/article/details/99446900】如有侵权,联系删除

    3、2、4携带参数<a th:href="@{/test/detail(id=3,action='show_all')}">show</a>

3、3——字面值:有的时候,我们需要在指令中填写基本类型如:字符串、数值、布尔等,并不希望被Thymeleaf解析为变量,这个时候称为字面值。

    3、3、1字符串字面值:<p th:text="'固定值'"></p>

    3、3、2数字字面值:<p th:text="1+1"></p>

    3、3、3布尔字面值:布尔类型的字面值是true或false

3、4——字符串连接变量

    3、4、1:<p th:text="${'固定值'+变量名}"></p>

    3、4、2:<p th:text="'固定值'+${变量名}"></p>

    3、4、3:<p th:text="|'固定值'${变量名}|"></p>

3、5——运算符

    3、5、1:算术操作符 + - * / %

    3、5、2:比较运算> :gt,< :lt,>= :ge,<=: le

    3、5、3:三元运算:conditon ? then : else

3、6——内联写法

    3、6、1解析内部的标签[(${变量名})]

    3、6、2原样输出[[${变量名}]]

3、7局部变量

    3、7、1当th:with被处理,test变量创建一个局部变量和变量添加到map自上下文,以便它是用于评估和其他上下文中声明的变量从开始,但只有包含< div >标记的范围内。

<div th:with="test=${tests[0]}">

   <p th:text="${test.testName}"></p>
</div>

3、8判断

    3、8、1:th:if    

        <p th:if="${true}">我是真的</p>

        <p th:if="${false}">我是假的不显示</p>

    3、8、2:th:unless 

     <p th:unless="${false}">我是假的才显示</p>

    3、8、3:th:switch

    <div th:switch="${key1}">
       <p th:case="'value1'">value1</p>
       <p th:case="'value2'">value2</p>
       <p th:case="*">final</p>
    </div>

3、9迭代

3、9、1
<div th:each="test,stat:${tests}">
   <p th:text="${test.testId}"></p>
   <p th:text="${test.testName}"></p>
   <p th:text="${stat.even}">奇数</p>
</div>

3、9、2

    stat对象包含以下属性:

        3、9、2、1:index,从0开始的角标

        3、9、2、2:count,元素的个数,从1开始

        3、9、2、3:size,总元素个数

        3、9、2、4: current,当前遍历到的元素

        3、9、2、5:even/odd,返回是否为奇偶,boolean值

        3、9、2、6:first/last,返回是否为第一或最后,boolean值

3、10内置对象

    3、10、1环境相关对象

        3、10、1、1 :${#ctx} 上下文对象,可用于获取其它内置对象。

        3、10、1、1:${#vars}:    上下文变量。

        3、10、1、1:${#locale}:上下文区域设置。

        3、10、1、1:${#request}: HttpServletRequest对象。

        3、10、1、1:${#response}: HttpServletResponse对象。

        3、10、1、1:${#session}: HttpSession对象。

        3、10、1、1:${#servletContext}:  ServletContext对象。

    3、10、2全局对象功能

        3、10、2、1:#strings:字符串工具类

        3、10、2、2:#lists:List 工具类

        3、10、2、3:#arrays:数组工具类

        3、10、2、4:#sets:Set 工具类

        3、10、2、5:#maps:常用Map方法。

        3、10、2、6:#objects:一般对象类,通常用来判断非空

        3、10、2、7:#bools:常用的布尔方法。

        3、10、2、8:#execInfo:获取页面模板的处理信息。

        3、10、2、9:#messages:在变量表达式中获取外部消息的方法,与使用#{...}语法获取的方法相同。

        3、10、2、10:#uris:转义部分URL / URI的方法。

        3、10、2、11;#conversions:用于执行已配置的转换服务的方法。

        3、10、2、12;#dates:时间操作和时间格式化等。

        3、10、2、13:#calendars:用于更复杂时间的格式化。

        3、10、2、14;#numbers:格式化数字对象的方法。

        3、10、2、15;#aggregates:在数组或集合上创建聚合的方法。

        3、10、2、16:#ids:处理可能重复的id属性的方法。

    3、10、3示例
        ${#strings.abbreviate(str,10)}  str截取0-10位,后面的全部用…这个点代替,注意,最小是3位
        ${#strings.toUpperCase(name)}
3、11布局

    3、11、1方式1:

    3、11、2方式2:

    3、11、3引入方式:

        3、11、3、1th:insert (将公共的标签及内容插入到指定标签当中);

        3、11、3、2th:replace(将公共的标签替换指定的标签);

        3、11、3、3th:include(将公共标签的内容包含到指定标签当中)。

    3、11、4传值:

3、12js模板

模板引擎不仅可以渲染html,也可以对JS中的进行预处理。而且为了在纯静态环境下可以运行,在script标签中通过th:inline="javascript"来声明这是要特殊处理的js脚本

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: springboot+thymeleaf项目是一种基于Java语言开发的Web应用程序。它采用了Spring Boot框架和Thymeleaf模板引擎,可以快速地搭建一个高效、可靠、易于维护的Web应用程序。该项目具有以下特点: 1. 简单易用:Spring Boot框架提供了一系列的自动化配置,使得开发者可以快速地搭建一个Web应用程序,而不需要过多的配置。 2. 高效可靠:Spring Boot框架采用了一系列的优化措施,使得应用程序具有高效、可靠的性能。 3. 易于维护:Thymeleaf模板引擎提供了一种简单、易于维护的模板语言,使得开发者可以快速地开发出具有良好可读性的Web应用程序。 总之,springboot+thymeleaf项目是一种非常优秀的Web应用程序开发框架,可以帮助开发者快速地开发出高效、可靠、易于维护的Web应用程序。 ### 回答2: Spring Boot是一个基于Spring框架的快速开发框架,这个框架的优点在于其简单易用,能够快速搭建一个Java Web应用程序,无需进行复杂的配置和繁琐的XML文件编写。而Thymeleaf则是一种Web和HTML的模板引擎,可以方便地处理文本、链接和表单等元素,支持多重继承和页面片段的复用等特性。 Spring Boot和Thymeleaf的结合,可以帮助开发人员更加简便地搭建Web应用程序。在使用Spring Boot进行项目开发时,可以使用Thymeleaf来完成Web开发的视图层,进行模版板的渲染和数据绑定。这样就可以很直接地将数据通过模板引擎展现出来,且更加方便。 在一个Spring Boot Thymeleaf项目的构建中,需要进行如下步骤: 1. 首先,引入Spring Boot和Thymeleaf的依赖以及其他必要的依赖,例如web和mybatis等相关组件。 2. 创建一个Controller类,并使用@Controller注解将类标记为Controller,编写具体的Action方法,这些方法可以用@RequestMapping或@GetMapping等注解来定义处理请求的URL路径和请求类型等相关信息。 3. 创建一个Model类,用于封装需要传输到前端的数据和相关操作等。 4. 在Controller内部设置Model变量并将相关数据注入Model,然后将需要展现的数据作为参数传递给Thymeleaf进行渲染,最后将渲染完成后的结果返回给前端页面展现。 5. 编写HTML页面,使用Thymeleaf标签来渲染动态数据。 需要注意的是,在进行Thymeleaf模板的渲染时,需要遵守一定的规范,例如页面中的数据变量名称需与Model中的属性名称一致,引入Thymeleaf命名空间等等。 总之,Spring Boot与Thymeleaf结合使用可以帮助开发人员快速地完成Web开发,整个过程简单而且高效。使用Thymeleaf能够降低模版制作的门槛,进一步提高开发效率,并且能够提供丰富的模版处理标签,使得页面制作更加灵活。 ### 回答3: 近年来,使用SpringBootThymeleaf进行Web开发已经成为越来越多的开发者选择的方案。SpringBoot是一个基于Spring框架的快速Web应用开发框架,而Thymeleaf是一种基于HTML的模板引擎,其中需要了解的内容包括以下几点: 首先,SpringBoot框架的优点是非常明显的。它提供了很多便于使用的方法,例如自动装配,以及基于配置的许多默认值。这使得开发者可以花更少的时间和精力来开发项目,将重点放在业务逻辑和功能实现上。 其次,Thymeleaf是一种非常强大和灵活的模板引擎,其语法简单易懂,而且支持HTML5标准。它还提供了一些样式和布局的工具,以及易于使用的表达式和标签,使得Web页面开发更加容易。 当然,SpringBoot集成Thymeleaf的过程也并不复杂。只需添加thymeleaf-starter包依赖,SpringBoot将自动将Thymeleaf注册为默认的模板引擎。然后,您只需要编写Thymeleaf模板文件即可。 最后,值得注意的是,使用SpringBootThymeleaf进行Web开发的好处在于它们之间的紧密集成。这种紧密集成可以更轻松地创建动态和交互性的Web应用程序,这是传统的HTML和JavaScript不能提供的。 总的来说,SpringBootThymeleaf是一对非常强大且易于使用的Web开发工具组合,它们的出现大大提高了Web开发的效率和质量,同时也为开发人员提供了更好的开发体验。我们相信,这对于Web开发者来说是非常有价值的组合。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的小绵羊

c币是什么

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值