springboot使用thymeleaf出现org.xml.sax.SAXParseException的解决办法

问题

      最近在做毕业设计的时候,使用了thymeleaf模板引擎。因为自己前端不是特别6,引用了别人写的前端项目,然后自己修改,并加上引擎标签,然而会出现org.xml.sax.SAXParseException的异常。

       起初,按照异常提示一步步弄,发现改的太多了,太费劲了,而且都是某些缺少结束标记的这种错误。这也不算是错误,只能说没有特备严格准守html5规范。thymeleaf模板引擎默认是Template modes:HTML5解析的,thymeleaf引擎对规范比较严格,若不符合规范,就会报错。

常见的有下面两种:

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

  报错原因比较浅显直白,语法格式化错误。

解决方式:

可以根据项目情况做:

如果前端代码修改少的,严格遵守html页面的编写规范,根据要求修改,加上结束标签。

如果前端代码修改多的,节约时间和精力,可以尝试一下方式:

1.配置,在application.properties文件当中加入下面三行。 

spring.thymeleaf.content-type=text/html

spring.thymeleaf.mode =LEGACYHTML5

spring.thymeleaf.cache=false

2.引入额外的maven依赖: 

<!--允许不严格的html5格式出现-->

<dependency>

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

<artifactId>nekohtml</artifactId>

<version>1.9.22</version>

</dependency>

该依赖是告诉程序不进行严格的html5规范检查。

然后重新运行程序,就不会报错了。

​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值