Spring Boot启动后访问页面报错Whitelabel Error Page,控制台报错:元素类型 "meta" 必须由匹配的结束标记 "/meta>" 终止。

Spring Boot启动后访问首页,发现游览器报错,如图:

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Wed Jan 23 17:03:31 CST 2019

There was an unexpected error (type=Internal Server Error, status=500).

Exception parsing document: template="login", line 6 - column 3

还好不是404错误,这种一看就是语法错误。从前台提示来看只知道是login.html这个页面报错,第六行第三列是head标签这里没问题啊。

既然是500服务器内部错误,我们就看下后台有没有错误日志打印,看下控制台

org.xml.sax.SAXParseException: 元素类型 "meta" 必须由匹配的结束标记 "</meta>" 终止
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203) ~[na:1.8.0_181]
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177) ~[na:1.8.0_181]
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400) [na:1.8.0_181]
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327) [na:1.8.0_181]
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1472) [na:1.8.0_181]

果然,使用meta标签的只有第4行。原来我使用的Spring Boot是1.5.19版本,thymeleaf版本较低,该版本默认使用html5的语法标准,校验比较严格,每个标签必须有对应的结束标签,第四行改为<meta charset="UTF-8"/>,重启,OK。

另外,可以通过提高thymeleaf版本即可兼容html5之前的版本

具体方法:在pom.xml中添加如下配置

<properties>
        <thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>
           <thymeleaf-layout-dialect.version>2.1.1</thymeleaf-layout-dialect.version>
    </properties>

重启后问题同样得到解决。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值