美文网首页
【避坑指南】Spring Boot Thymeleaf 报错:W

【避坑指南】Spring Boot Thymeleaf 报错:W

作者: 木有饭 | 来源:发表于2018-11-29 22:46 被阅读0次

    如果,你选择了Spring Boot + Thymeleaf 这对组合。恭喜你,你进入了一个大坑!不,不能称之坑,就是万丈深渊。

    新增、编辑、修改、保存同一个页面,有参数时正常访问,没参数报个错给你看看,Thymeleaf的傲娇真不是盖的!

    先上错误代码,这是前端报错的:

    Whitelabel Error Page

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

    Thu Nov 29 22:27:35 CST 2018

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

    An error happened during template parsing (template: "class path resource [templates/personnelClassification/edit.html]")

    这是IDEA控制台抛出的:

    [THYMELEAF][http-nio-8080-exec-5] Exception processing template "personnelClassification/edit": An error happened during template parsing (template: "class path resource [templates/personnelClassification/edit.html]")

    org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/personnelClassification/edit.html]")

    当你在网上穷搜到抓狂的时候,一般给出的答案是:

    1、配置文件缺少;

    2、Application文件没有放在最顶级目录上;

    3、@RequestMapping路径不对导致找不到;

    但是,我看了自己的项目所有的都是正常的,重新检查检查了前端页面,发现th:value="${bean.personnelClassificationId}",通过Thymeleaf标签赋值时,编辑时有参数时是正常的,新增时没参数就会报错。所以,我感觉这和参数的有无有直接关系。

    继续搜索,发现真有一部分发现这个问题,有先驱者给出了解决办法:th:value="${bean?.personnelClassificationId}",在传入参数后面加上一个英文问号,形成类似于三目运算,如果bean不为空,则进行取值。当参数取值层级较多时,也可以是result?.bean?.id这种。

    项目添加问号后,如果报错也不用担心,保持Thymeleaf为最新版本就行了。我目前使用的是:<version>2.1.0.RELEASE</version>版本,更多新版本可以在mvnrepository.com内搜索。

    相关文章

      网友评论

          本文标题:【避坑指南】Spring Boot Thymeleaf 报错:W

          本文链接:https://www.haomeiwen.com/subject/ltvqcqtx.html