SpringBoot2.X整合Thymeleaf
发布日期:2022-03-30 18:18:26 浏览次数:40 分类:博客文章

本文共 1996 字,大约阅读时间需要 6 分钟。

Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎,SpringBoot官方推荐使用的一个模板引擎

如果你对模板和模板引擎没什么概念的话,可以简单理解为Thymeleaf是一个高级简洁的JSP

如果学过MVC设计模式,那么Thymeleaf就是视图层(view)的主要核心内容

模板引擎是什么

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

它最早出现是C#语言用来渲染成.asp,所以它不是什么新鲜事了,Thymeleaf则是Java的一个模板引擎,与Thymeleaf类似的模板引擎还有Velocity和FreeMarker

模板引擎工作原理

按照我自己理解模板引擎只是将模板(Template)和数据(Java Object)渲染成网页(Html)的工具

JSP知道吧,它里面参杂Java内置对象代码来进行数据显示,而Thymeleaf按照我的理解就像去除了Java代码的简化版JSP

为什么要整合Thymeleaf

在SpringBoot2.X系列第一篇文章中整合的案例,各位应该有印象我没有去配置过Tomcat

因为SpringBoot将项目打包成Jar包方式在内部集成的Tomcat运行,传统JSP是要打成war包才能运行,所以这里不适用JSP必须整合Thymeleaf

使用Thymeleaf有助于前后端协同开发,因为它在无网络环境下也可以运行,前端程序员便于在静态页面查看页面效果,后端开发者也便于在服务器查看实时的数据交互

Thymeleaf严格遵循的mvc设计模式,不用像JSP页面大量嵌套Java代码,开发更简洁

SpringBoot整合Thymeleaf

整合Thymeleaf需要Web模块和Thymeleaf模块相应的依赖Jar包

pom.xml

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

在SpringBoot Initializer中分别勾选Web和Thymeleaf

整合Thymeleaf的项目结构

在SpringbootApplication所在的包下所有Bean类会被SpringBoot自动扫描组装,static目录是SpringBootyong用来加载CSS,JS,IMG等静态资源,templates是用来放置html模板文件

ThymeleafController

package com.luojay.springbootthymeleaf.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class ThymeleafController {    @RequestMapping("/getThymeleaf")    public String Welcome(){        return "luojay";        //此处返回值,对应templates的文件名,SpringBoot根据它找到对应Html    }}

@Controller注解是告知SpringBoot此类是控制层需要自动注入,@RequestMapping是映射访问路径注解,在localhost:8080之后的路径就是根据此处写的

luojay.html

    
luojay's Thymeleaf hello,luojay!

页面展示效果

进阶的学习案例

上面的入门例子可以说是简单到不行,有了这个基础,可以利用网上一些静态资源整合Thymeleaf搭建好看的页面,比如登录界面

文章配套代码

文章的配套源码已收录在我的GitHub仓库SpringBoot-Study中,点击阅读原文可以直达我的Github中的SpringBoot-Study仓库,如果案例的代码对你有帮助,欢迎star和fork!

Github:

登录页面源代码:

转载地址:https://www.cnblogs.com/codeluojay/p/12105125.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Spring Boot入门案例修改默认配置(二)
下一篇:SpringBoot整合LayUI和Thymeleaf制作简单登录页面

发表评论

最新留言

不错!
[***.144.177.141]2024年03月29日 09时05分14秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

【Spring】Spring常用配置-Bean的Scope 2019-04-26
【错误解决】[Maven] cannot be opened because it does not exist错误[文件无法编译到target目录下的解决方法] 2019-04-26
【Spring】Spring常用配置-Spring EL和资源调用 2019-04-26
【Spring】Spring常用配置-Bean的初始化和销毁(生命周期) 2019-04-26
【Spring】Spring常用配置-Profile 2019-04-26
【Spring】Spring常用配置-事件(Application Event) 2019-04-26
【Spring】Spring高级话题-Spring Aware 2019-04-26
【Spring】Spring高级话题-多线程-TaskExecutor 2019-04-26
【错误解决】MySQL出现Can't connect to MySQL server on 'localhost' (10060)错误 2019-04-26
【IDEA】向IntelliJ IDEA创建的项目导入Jar包的两种方式 2019-04-26
【IDEA】Intellij IDEA创建的Web项目配置Tomcat并启动Maven项目 2019-04-26
【BootStrap】关于Select下拉框选择触发事件以及扩展 2019-04-26
【博客之星竞选】只为你一票,只为你倾城 2019-04-26
【错误解决】本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止 2019-04-26
【Spring】Spring高级话题-条件注解-@Condition 2019-04-26
【Spring】Spring高级话题-组合注解与元注解 2019-04-26
【Spring】Spring高级话题-@Enable***注解的工作原理 2019-04-26
【Spring】Spring高级话题-计划任务-@EnableScheduling 2019-04-26
【Spring】Spring高级话题-测试Spring项目 2019-04-26
【Linux】Linux下使用wget 命令下载JDK7的方法 2019-04-26