spring-boot-starter-thymeleaf对没有结束符的HTML5标签解析出错

时间:2022-06-26 09:33:29

springboot 在使用thymeleaf 作为模板时,当出现未关闭标签时,如下所示代码,标签没有关闭。

<link href="plugin/layui/css/layui.css" rel="stylesheet" >

会出现如下异常:

org.xml.sax.SAXParseException: 元素类型 "meta" 必须由匹配的结束标记 "</meta>" 终止。

可以通过配置thymeleaf属性并结合nekohtml即可实现关闭对非标准html5标签的检查。

首先在项目pom文件中加入对nekohtml的依赖:

<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<version>${nekohtml.version}</version>
</dependency>

然后再springboot application配置文件中加入以下配置,properties配置为:spring.thymeleaf.mode=LEGACYHTML5

yml配置文件为:

spring:
thymeleaf:
mode: LEGACYHTML5 # 不进未关闭标签检查,需配合nekohtml使用
cache: false # 关闭缓存,开发过程中开启

配置完成之后重启项目即可。