Spring Boot (Web 篇):整合Thymeleaf模板

版权声明:本博客所有内容采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可 https://blog.csdn.net/Soinice/article/details/82632679

 

目录

说在前面

Thymeleaf特点

在pom.xml加入相关依赖

配置application.properties

Controller层

Thymeleaf页面

项目启动

第一种方式,SpringBoot直接启动(内置集成tomcat)

浏览器访问

第二种方式,打包成部署的 war 包(外置tomcat)

在pom.xml加入相关依赖

配置启动项

在pom.xml加入相关依赖

添加外置 tomcat

Maven打包

浏览器访问

总结

源码下载


说在前面

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

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

借助Spring Framework的模块,与您喜欢的工具的大量集成,以及插入您自己的功能的能力,Thymeleaf是现代HTML5 JVM Web开发的理想选择 - 尽管它可以做得更多。

与其它模板引擎相比,Thymeleaf最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个Web应用。

此段来源于Thymeleaf官方网站,由Google提供翻译(国内)

Thymeleaf特点

简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点:

1、Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。

2、Thymeleaf 开箱即用的特性。它提供标准和spring标准两种方言,可以直接套用模板实现JSTL、 OGNL表达式效果,避免每天套模板、该jstl、改标签的困扰。同时开发人员也可以扩展和创建自定义的方言。

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

在pom.xml加入相关依赖

在 pom.xml 文件中添加:

配置application.properties

上述配置都是默认值。有部分冲突,请不要全部同事配置。

Controller层

Thymeleaf页面

在 template 目录下创建thymeleaf包,然后在此目录下创建名为 indexThymeleaf.html 的文件,内容如下:

注:通过 xmlns:th="http://www.thymeleaf.org" 命令空间,将静态页面转换为动态的视图,需要进行动态处理的元素将使用“th:”前缀。

Thymeleaf做到了不破坏HTML自身内容的数据逻辑分离。

当然,你完全可以直接访问这个页面

项目启动

第一种方式,SpringBoot直接启动(内置集成tomcat)

浏览器访问

在浏览器直接输入:http://localhost:8080/index/helloThymeleaf

第二种方式,打包成部署的 war 包(外置tomcat)

在pom.xml加入相关依赖

在这里需要移除对嵌入式Tomcat的依赖,这样打出的war包中,在lib目录下才不会包含Tomcat相关的jar包,否则将会出现启动错误。

配置启动项

让 SpringbootApplication 类继承 SpringBootServletInitializer 并重写 configure 方法,如下:

在pom.xml加入相关依赖

修改 pom.xml 文件,将 jar 改成 war,如下:

添加外置 tomcat

Maven打包

当然,如果对于yml,xml,properties等 类似于 配置的文件,每次有改动都要重新打包,对于clean是为了清除缓存,

٩(๑>◡<๑)۶ 对于我,还是比较喜欢SpringBoot方式启动,鸡肋~

打包成功后,一般会在项目中target中默认存放:

将 war 包部署到 tomcat 容器中运行即可。

浏览器访问

在浏览器直接输入:http://localhost:8080/index/helloThymeleaf

当然可以直接在tomcat配置首页地址为:http://localhost:8080/index/helloThymeleaf

当然外置 tomcat 也可以选择热部署,类似于SpringBoot热部署:https://blog.csdn.net/Soinice/article/details/82416043

配置完成后,启动tomcat会自动打开浏览器,并访问配置的首页

总结

我相信全网都找不到一篇有我这篇这么详细的介绍Spring Boot使用Thymeleaf的文章。有很多人问我,为什么我的很多文章这么简单易懂,我每次都是哭着回复他们四个字:主题阅读,天知道我参考了多少篇网上的文章,外加多少本相关书籍中关于这个章节的内容,反复对比提炼,最后才产出对应的博文。说真的,我很羡慕你们在这个信息爆炸的时代,刚好看到一篇自己要学习的技术的好文章,少走多少弯路。

源码下载

[相关示例完整代码]请获取 相关分支哦:feature-20180910-web 

猜你喜欢

转载自blog.csdn.net/Soinice/article/details/82632679