Spring Boot 在使用thymeleaf模板引擎时出现org.xml.sax.SAXParseException的原因与解决办法

错误描述:

在springboot程序当中,使用thymeleaf作为视图的时候,跳转到页面上的时候,会出现org.xml.sax.SAXParseException的异常(SAX解析器解析xml文件异常),报错的大概意思是某个标签没有闭标签。如下:

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

原因如下:

thymeleaf模板引擎默认是Template modes:HTML5解析的,解析比较严格,对html的内容要求很严格,假如不符合规范,那么就会报错。

解决办法:

1、写HTML时,完全遵照H5的标准来写。(有点难!)

2、修改thymeleaf 配置,通知解析程序不要这么严格。

thymeleaf 配置如下:

########################################################
### thymeleaf 配置
########################################################
#前缀
spring.thymeleaf.prefix=/WEB-INF/jsp/
#后缀
spring.thymeleaf.suffix=.html
#模式
#此模式不需要要求严格遵守HTML5标准
#LEGACYHTML5需要搭配一个额外的库NekoHTML才可用
spring.thymeleaf.mode=LEGACYHTML5
#此模式要求严格遵守HTML5标准
#spring.thymeleaf.mode=HTML5
#编码
spring.thymeleaf.encoding=UTF-8
# ;charset= is added
spring.thymeleaf.content-type=text/html
# set to false for hot refresh
#去除缓存
spring.thymeleaf.cache=false

 然后再添加依赖,如下:



    net.sourceforge.nekohtml
    nekohtml
    1.9.22

 

你可能感兴趣的:(Spring Boot 在使用thymeleaf模板引擎时出现org.xml.sax.SAXParseException的原因与解决办法)