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

本文介绍了一次使用Thymeleaf模板引擎过程中遇到的关于HTML5 Meta标签缺少结束标记的问题,并提供了正确的代码示例及解析。
前言:
最近在学spring boot,而spring boot推荐使用thymeleaf作为视图,于是就看着书上写了个案例,写好运行。
报错:org.xml.sax.SAXParseException: 元素类型 "meta" 必须由匹配的结束标记 "</meta>" 终止。 
报错原因分析:
报错的原因是meta元素缺少</meta>结束标记,想考了一下,meta元素是html的元素呀,
于是查看自己的页面代码,发现真的是少了结束标记。
错误代码:
<!DOCTYPE html>
<html xmlns="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Thymeleaf Demo</title>
</head>
<body>

    <p >单个</p>
    <div>
        <p>姓名:<span th:text="${single.name}">这些天</span></p>
        <p>年龄:<span th:text="${single.age}">25</span></p>
    </div>
    <br/>
    <p >集合</p>
    <div th:if="${not #lists.isEmpty(personList) }">

        <div th:each="person:${personList}">
            <p>姓名:<span th:text="${person.name}" >这些天</span></p>
            <p>年龄:<span th:text="${person.age}">25</span></p>
        </div>
    </div>

</body>
</html>

这里写图片描述

修改:
<!DOCTYPE html>
<html xmlns="http://www.thymeleaf.org">
<head>


<meta charset="UTF-8" />
<!-- 或者  <meta charset="UTF-8" ></meta> -->


<title>Thymeleaf Demo</title>
</head>
<body>

    <p >单个</p>
    <div>
        <p>姓名:<span th:text="${single.name}">这些天</span></p>
        <p>年龄:<span th:text="${single.age}">25</span></p>
    </div>
    <br/>
    <p >集合</p>
    <div th:if="${not #lists.isEmpty(personList) }">

        <div th:each="person:${personList}">
            <p>姓名:<span th:text="${person.name}" >这些天</span></p>
            <p>年龄:<span th:text="${person.age}">25</span></p>
        </div>
    </div>

</body>
</html>
结论:
thymeleaf模板引擎默认是Template modes:HTML5解析的,所以解析比较严格。以后看来还是要都写上结束的反斜杠呀(/)

说明:
    html5语法
        <meta charset="UTF-8">
    这里不加结束的反斜杠(/)是不会报错的。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值