1. 首先看报错信息
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Tue Dec 03 09:20:49 CST 2019
There was an unexpected error (type=Internal Server Error, status=500).
Error resolving template “web/rolling.html”, template might not exist or might not be accessible by any of the configured Template Resolvers
字面意思很好理解,错误解析,模板可能不存在,也可能不被任何配置的template解析所解析,没能找到地址或者解析出错,大概是两个方向,要么配置出问题,解析不到地址,要么是页面有问题,因为template模板严格按照HTML5格式来解析,有一定格式问题就会报错,谁让springboot官方推荐template模板来渲染呢,动手解决。
2.解决办法
- 绝大数问题出在‘/’上,检查你template配置有没有漏掉斜杠 application.yml或者application.properties里面,亦或者controller层里多加了斜杠/.
- 如果需要返回数据而不是视图 建议直接加上@RestController或@ResponseBody注释 就能够解决问题 需要注意如果是@controller返回视图加这个注释会跳转页面显示XXX.html 这里是你return的内容
- 如果格式问题,通过设置thymeleaf模板可以解决这个问题,下面是具体的配置。
<span style="color:#333333;">spring.thymeleaf.content-type=text/html spring.thymeleaf.cache=false</span> <span style="color:#ff0000;">spring.thymeleaf.mode =LEGACYHTML5</span>
LEGACYHTML5需要搭配一个额外的库NekoHTML才可用
项目中使用的构建工具是Maven添加如下的依赖即可完成。
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<version>1.9.22</version>
</dependency>
5.写到最后本人的问题出在哪里呢?和大家不一样我的是刚开始发布到服务器没有任何问题,页面解析正常,后面写了一些其他功能再回头来就发现直接解析报错,能肯定的是页面配置没问题,路径也不会有问题(毕竟一开始正常解析),我就在想难道是我页面改了什么导致不符合HTML5规范,我从git上回滚版本发现问题依旧存在,我就灵机一动删了文件重新加载,嗯,很棒,竟然正常了,为了纪念我被它搞得焦头烂额的时光,写下来帮组别人跳坑,哈哈。