前言

什么是Thymeleaf

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

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

Thymeleaf拥有适用于Spring Framework的模块,与您喜欢的工具的大量集成以及插入您自己的功能的能力,对于现代HTML5 JVM Web开发而言,Thymeleaf是理想的选择-尽管它还有很多工作要做。

Thymeleaf和Freemarker对比

Thymeleaf优点:

静态html嵌入标签属性,浏览器可以直接打开模板文件,便于前后端联调。springboot官方推荐方案。

Thymeleaf缺点:

模板必须符合xml规范,就这一点就可以判死刑!太不方便了!js脚本必须加入/*

就上面一条就够了

Freemarker优点:

1、通用目标

能够生成各种文本:HTML、XML、RTF、Java源代码等等

易于嵌入到你的产品中:轻量级:不需要Serve环境

插件式模板载入器:可以从任何源载入模板,如本地文件、数据库等等

你可以按你所需生成文本:保存到本地文件;作为Ema发送;从Web应用程序发送它返回给Web浏览器

2、强大的模板语言

所有常用的指令:include、if/ elseif/else、循环结构

在模板中创建和改变变量

几乎在任何地方都可以使用复杂表达式来指定值

命名的宏,可以具有位置参数和嵌套内容

名字空间有助于建立和维护可重用的宏库,或者将一个大工程分成模块,而不必担心名字冲突

输岀转换块∶在嵌套模板片段生成输岀时,转换HM转义、压缩、语法高亮等等;你可以定义自己的转换

3、通用数据模型

FreeMarker不是直接反射到Java对象,Jva对象通过插件式对象封装,以变量方式在模板中显示

你可以使用抽象(接口)方式表示对象( Java bean、XM文档、sL查询结果集等等),告诉模板开发者使用方法,使其不受技术细节的打扰

4、为Web准备

在模板语言中内建处理典型Web相关任务(如HTML转义)的结构

能够集成到Mode2Web应用框架中作为JsP的

支持JSP标记库

为MVC模式设计:分离可视化设计和应用程序逻辑;分离页面设计员和程序员

5、智能的国际化和本地化

字符集智能化(内部使用UNICODE)

数字格式本地化敏感

日期和时间格式本地化敏感

非Us字符集可以用作标识(如变量名)

多种不同语言的相同模板

6、强大的XML处理能力

和指令(2.3版本)用于递归遍历XML树

Freemarker缺点:

暂时未发现

说明

好像通过上面的对比Thymeleaf好像没有占多大的便宜,但是也架不住老板说要用Thymeleaf,因此本文还是讲解下如何在程序中配置Thymeleaf模板解析引擎

1.添加Thymeleaf的Jar包

编辑pom.xml添加

org.springframework.boot

spring-boot-starter-thymeleaf

如图:

注:若之前有使用其他模板解析引擎请先删除下配置

2.配置SpringBoot的application.properties文件

添加

#Thymeleaf配置

# spring.thymeleaf.cache : 是否启用缓存

# spring.thymeleaf.check-template : 在展示前检查模板是否存在

# spring.thymeleaf.check-template-location : 检查模板位置是否存在

# spring.thymeleaf.encoding : 模板文件编码

# spring.thymeleaf.mode : 模板模式

# spring.thymeleaf.prefix : 模板文件路径前缀

# spring.thymeleaf.reactive.max-chunk-size : 模板可使用的最大缓冲区

# spring.thymeleaf.servlet.content-type : 模板内容类型

# spring.thymeleaf.suffix : 模板文件后缀

spring.thymeleaf.cache=false

spring.thymeleaf.check-template=true

spring.thymeleaf.check-template-location=true

spring.thymeleaf.encoding=UTF-8

spring.thymeleaf.mode=HTML5

spring.thymeleaf.prefix=classpath:/static/views/

spring.thymeleaf.reactive.max-chunk-size=0

spring.thymeleaf.servlet.content-type=text/html

spring.thymeleaf.suffix=.html

如图:

3.创建HTML模板

在resources/static/views编写一个Thymeleaf模板的html页面

新建一个thymeleaf.html

index

hello Thymeleaf

如图:

4.编写Controller方法

新建一个ThymeleafController.java

package org.xujun.springboot.controller;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.servlet.ModelAndView;

@RestController

public class ThymeleafController {

@GetMapping("thymeleaf")

public ModelAndView thymeleaf() {

ModelAndView mv = new ModelAndView();

mv.setViewName("thymeleaf");

return mv;

}

}

如图:

注:其中mv.setViewName("thymeleaf");中thymeleaf为模板的名字,因为前缀后缀在配置文件中已经配置,所以在此配置模板名字即可

5.测试

运行项目,并且访问[http://127.0.0.1:8080/thymeleaf]。结果如图

总结:个人对thymeleaf其实无感,用过一段时间,感觉非常难受。因此还是奔向Freemarker的怀抱。但是对于技术而言,它会改变。因此我们还是要掌握它。本文讲解了SpringBoot框架配置thymeleaf,并没有详细讲解thymeleaf模板的用法。因为这里主要讲解Springboot框架。后续的文章会对该模板语法做详细的讲解。

springboot嵌入thymeleaf后css404_SpringBoot2整合Thymeleaf相关推荐

  1. thymeleaf 中文_springboot 整合 thymeleaf(上手即用)

    引言 springboot 整合thymeleaf 其实用的不是很多,因为现在很多公司都是前后端分离的项目,通过接口交互了.但是我们后端人员,对前端不是很了解,但是又想做些东西看看效果.所以就可以整合 ...

  2. 一起来学SpringBoot | 第四篇:整合Thymeleaf模板

    SpringBoot 是为了简化 Spring 应用的创建.运行.调试.部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖 ...

  3. SpringBoot 实战 (十二) | 整合 thymeleaf

    微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题. 前言 如题,今天介绍 Thymeleaf ,并整合 Thymeleaf 开发一个简陋版的学生信息管理系统. Spring ...

  4. SpringBoot整合Thymeleaf+EasyExcel实现excel文件的读取并展示,附加swagger2配置(超详细示范!)

    目录 1.Springboot整合Thyemleaf+EasyExcel 步骤 1.1 pom文件引入依赖 1.2 yml文件配置 1.3 config配置类 1.3.1 Swagger2配置类 1. ...

  5. SpringBoot整合Thymeleaf模板引擎以及静态资源的访问

    SpringBoot整合Thymeleaf模板引擎静态资源访问的配置 Thymeleaf是一个现代服务器端Java模板引擎,适用于Web和独立环境,能够处理HTML,XML,JavaScript,CS ...

  6. SpringBoot——整合数据库,springSecurity,shiro、整合thymeleaf

    一.springboot--JDBC 狂神说SpringBoot07:整合JDBC 1.引入web.JDBC API.mysql Driver <dependency><groupI ...

  7. SpringBoot中整合Thymeleaf

    场景 springboot不建议使用jsp,使用模板引擎,比如thymeleaf,velocity,freemarker. 项目搭建专栏: https://blog.csdn.net/BADAO_LI ...

  8. Springboot整合thymeleaf模板

    Thymeleaf是个XML/XHTML/HTML5模板引擎,可以用于Web与非Web应用. Thymeleaf的主要目标在于提供一种可被浏览器正确显示的.格式良好的模板创建方式,因此也可以用作静态建 ...

  9. Springboot项目搭建(三)整合thymeleaf模板

    springboot整合thymeleaf模板 一.POM文件添加依赖 <!--thymeleaf--> <dependency><groupId>org.spri ...

最新文章

  1. 面试官问:MySQL 的自增 ID 用完了,怎么办?
  2. Directx11教程(15) D3D11管线(4)
  3. C++接口定义及实现举例
  4. 【旧文章搬运】Win7可变对象头结构之InfoMask解析
  5. opencv与opengl混用实现三维点云图像
  6. Distributed TensorFlow
  7. :批量制作档案表,要从excel表格中将每个人的数据导入到docx档案
  8. python 函数调用列表_python – 根据列表中的字符串调用函数
  9. 在更新.net 4.5补丁后,VS2012突然不能打开项目,卸载补丁之后解决。
  10. 号称有效期至2017年的 ESET Nod32 “付费”许可证,只要能用一年就行了
  11. 《炬丰科技-半导体工艺》通过蚀刻技术为LED衬底开发低成本、高通量的硅
  12. vue滑杆_非常简单的Vue滑杆组件
  13. 安卓手机使用Termux运行java环境
  14. protect your eyes - 豆绿色
  15. 能远程控制你电脑的苹果充电线正在生产和售卖,走一个?
  16. 对垃圾分类工作作出重要指示PPT模板
  17. 爱思助手 for Mac(苹果手机助手)中文版
  18. 【前端】【JavaScript】通过成绩判断等级
  19. 左倾红黑树的go语言实现
  20. 【百度地图】制作多途经点的线路导航,模拟运动 (vue,typescript)

热门文章

  1. 系统架构设计师考试大纲
  2. java继承类型转换_#java 一个简单的例子理解java继承、成员函数重写、类型转换...
  3. python监视键盘_关于键盘监视的库pyHook与pythoncom
  4. spss数据_spss数据分析软件
  5. Linux设备驱动模型之platform总线
  6. 51nod 1781 Pinball(线段树)
  7. PhotoShop常用的功能汇总
  8. SpringBoot基础篇配置信息之配置刷新
  9. 请MM吃饭之工厂模式实现
  10. 当精准广告遇到大数据