最近使用spring boot推荐使用推荐的thymeleaf作为视图,报错org.xml.sax.SAXParseException: 元素类型 "meta" 必须由匹配的结束标记 "</meta>" 终止。
分析html得知是meta元素没有结束标记,纳闷这种写法在html是可以的啊,但还是死马当作活马医,给meta标签加了个结束标记,但是又报了个html没有结束标记,后来网上查找原因发现好像是将html页面识别成了xml文件了,所以对符号要求特别高。所以可以让thymeleaf不那么严格的校验,如下:
pom加上两行参数
<thymeleaf.version>3.0.2.RELEASE</thymeleaf.version> <thymeleaf-layout-dialect.version>2.0.5</thymeleaf-layout-dialect.version>
这下html完美解析了。
原因:
Thymeleaf 3.0 不再是基于XML结构的。由于引入新的解析引擎,模板的内容格式不再需要严格遵守XML规范。即不在要求标签闭合,属性加引号等等。