文档章节

thymeleaf在工作中常用的属性及表达式使用详解(二)

二十岁以后
 二十岁以后
发布于 2017/08/07 16:01
字数 882
阅读 168
收藏 1

1.1  在Spring Boot中引入Thymeleaf

第一步:在Maven中引入thymeleaf的依赖,加入以下代码即可引入需要的Jar包。

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

 第二步:然后在你的HTML页面的<html>元素中需要加入以下属性

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

  第三步:在application.yml中对thymeleaf进行配置( properties配置也一样,如果不清楚Spring Boot中yml及 properties 配置文件是干什么的,请看我Spring Boot系列的博客)

#mode: 去掉html的校验。 cache: 关闭thymeleaf的缓存
  thymeleaf:
    cache: false
    mode: LEGACYHTML5

如果你是使用标准路径的话,视图解析器的配置可以省略,如果你的页面没放入ClassPath路径的话,请看最后的thymeleaf在SpringBoot中配置详解大全。

第四步:写一个Controllar去映射到你的页面(和SpringMVC基本一致)

//登录
@RequestMapping("/login")
public String login(){
    //return 中就是你页面的名字(不带.html)
    return "login";
}

第五步:你就可以兴高采烈的去访问你的页面了,但是当我访问的时候却出现了以下的错误。

你如果在网上去百度的话,所有的博客都说Maven只需要引入以上一个依赖就可以使用thymeleaf,而我当时遇到这个错误的时候更是一脸懵逼——卧槽!我是谁?我在哪?这又TM是怎么了?

不要慌!仔细的看我截图报的错,上面的异常已经说的很清楚了,需要依赖nekoHTML 1.9.15 or newer的版本。 在使用springboot的过程中,如果使用thymeleaf作为模板文件,则要求HTML格式必须为严格的html5格式,必须有结束标签,否则会报错! 这个错是因为我在yml中配置,去掉了Html5的校验,但我并没有引入此依赖!(这个错我也是醉了)在Maven中加入以下依赖即可成功解决。

<dependency>
	<groupId>net.sourceforge.nekohtml</groupId>
	<artifactId>nekohtml</artifactId>
</dependency>

再次访问,Success!!!到此,第一个Thymeleaf的例子就完成了!

接下来附上Thymeleaf在SpringBoot中配置大全。(大全这个是转的,但是时间太久了我忘记是哪个博主的了,如果谁知道的话告诉我,我在附加上原创的连接)

#thymeleaf的配置文件说明
#spring.thymeleaf.cache = true #启用模板缓存。
#spring.thymeleaf.check-template = true #在呈现模板之前检查模板是否存在。
#spring.thymeleaf.check-template-location = true #检查模板位置是否存在。
#spring.thymeleaf.content-type = text / html #Content-Type值。
#spring.thymeleaf.enabled = true #启用MVC Thymeleaf视图分辨率。
#spring.thymeleaf.encoding = UTF-8 #模板编码。
#spring.thymeleaf.excluded-view-names = #应该从解决方案中排除的视图名称的逗号分隔列表。
#spring.thymeleaf.mode = HTML5 #应用于模板的模板模式。另请参见StandardTemplateModeHandlers。
#spring.thymeleaf.prefix = classpath:/ templates / #在构建URL时预先查看名称的前缀。
#spring.thymeleaf.suffix = .html #构建URL时附加到查看名称的后缀。
#spring.thymeleaf.template-resolver-order = #链中模板解析器的顺序。
#spring.thymeleaf.view-names = #可以解析的视图名称的逗号分隔列表。/ templates / #在构建URL时先查看名称的前缀。
#spring.thymeleaf.suffix = .html #构建URL时附加到查看名称的后缀。
#spring.thymeleaf.template-resolver-order = #链中模板解析器的顺序。
#spring.thymeleaf.view-names = #可以解析的视图名称的逗号分隔列表。/ templates / #在构建URL时先查看名称的前缀。
#spring.thymeleaf.suffix = .html #构建URL时附加到查看名称的后缀。
#spring.thymeleaf.template-resolver-order = #链中模板解析器的顺序。
#spring.thymeleaf.view-names = #可以解析的视图名称的逗号分隔列表。

 

原创博客,转载请注明出处: https://my.oschina.net/u/3637243/blog/1504011

 

 

© 著作权归作者所有

共有 人打赏支持
二十岁以后
粉丝 231
博文 25
码字总数 23016
作品 0
海淀
架构师
加载中

评论(3)

soongrande
soongrande
要是能提供一个示例工程就好了
二十岁以后
二十岁以后

引用来自“猪哥哥0815”的评论

nekoHTML-------------------我在maven添加了这个依赖,为什么还是没有用呢
你看下你的Maven Dependencies下有没有关于thymeleaf和nekohtml的相关jar包。不知道你是报什么错呢?
猪哥哥0815
猪哥哥0815
nekoHTML-------------------我在maven添加了这个依赖,为什么还是没有用呢
springboot(四):thymeleaf使用详解

在上篇文章springboot(二):web综合开发中简单介绍了一下thymeleaf,这篇文章将更加全面详细的介绍thymeleaf的使用。thymeleaf 是新一代的模板引擎,在spring4.0中推荐使用thymeleaf来做前端...

ityouknow
2016/09/05
0
0
springboot之thymeleaf使用详解

thymeleaf介绍 thymeleaf 是新一代的模板引擎,在spring4.0中推荐使用thymeleaf来做前端模版引擎。 简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP ...

无语年华
05/17
0
0
Spring Boot总结(9)---Thymeleaf用法大全

到这篇,基本上Spring Boot框架的各种常用功能都已经总结介绍完了。用过Spring Boot开发过项目之后,我觉得最常用和最需要总结的是两个东西,Spring Data JPA 和 Thymeleaf 语法,因为你了解...

weberweber
2017/10/12
0
0
Thymeleaf模板常用知识点

thymeleaf 是新一代的模板引擎,在spring4.0中推荐使用thymeleaf来做前端模版引擎。 thymeleaf介绍 简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的Java模板引擎,它可以完全替代 ...

芥末无疆
01/27
0
0
thymeleaf模板引擎基础使用(转)

刚好项目上用到这个模板引擎,记录以下基础用法。 thymeleaf介绍 简单说, Thymeleaf是一个跟Velocity、FreeMarker类似的模板引擎,它可以完全替代JSP 。相比其他的模板引擎,它有如下三个极...

easonjim
2017/09/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

sourcetree 离线免注册登录安装教程

Sourcetree是一个优秀的git可视化管理工具,深受开发者喜爱Sourcetree官网,但是在安装时需要谷歌账户登录,需要翻qiang才可以,此一点一直被人们所诟病。今天本教程就为大家提供离线免登陆安...

QQZZFT
23分钟前
1
0
使用 PostgreSQL 解决一个实际的统计分析问题

使用 PostgreSQL 解决一个实际的统计分析问题作者:老农民(刘启华)Email: 46715422@qq.com 之前有个朋友扔给我一个奇葩需求,他们公司之前做了一批问卷调查,全部都是统一格式的excel...

新疆老农民
26分钟前
1
0
TypeScript基础入门之高级类型的映射类型

转发 TypeScript基础入门之高级类型的映射类型 高级类型 映射类型 一个常见的任务是将一个已知的类型每个属性都变为可选的: interface PersonPartial {    name?: string;    age?...

durban
41分钟前
1
0
Dubbo源码分析(6):Dubbo内核实现之基于SPI思想Dubbo内核实现

SPI接口定义 定义了@SPI注解 package com.alibaba.dubbo.common.extension; import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.an......

郑加威
41分钟前
1
0
RxJS的另外四种实现方式(后记)—— 同时实现管道和链式编程

目录 RxJS的另外四种实现方式(序) RxJS的另外四种实现方式(一)——代码最小的库 RxJS的另外四种实现方式(二)——代码最小的库(续) RxJS的另外四种实现方式(三)——性能最高的库 Rx...

一个灰
44分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部