SpringBoot+Thyemleaf开发环境正常,打包jar发到服务器就报错Template might not exist or might not be accessible

网上查看了各种解决的思路,总结如下:

  1. 在controller层请求处理完了返回时,没有使用@RestController或@ResponseBody而返回了非json格式
    这种情况下返回的数据thymeleaf模板无法解析,直接报错
    解决方案:可以将@Controller换成@RestController,不过需要注意有没有其他的方法返回了html页面,会导致返回的不是页面而是字符串;最好的方法就是在你所请求的方法上面加一个@ResponseBody即可。

  2. 在你的controller层对应的方法返回html路径及名称时,在前面多加了一个/ 。

    例如return “/index”,正式这个/导致报错的,解决:去掉返回前面的/即可,例如return “index” 。

  3. 在使用springboot的过程中,如果使用thymeleaf作为模板文件,则要求HTML格式必须为严格的html5格式,必须有结束标签,否则会报错。
    解决方案:在application配置文件中配置

    #thymeleaf
    spring.thymeleaf.prefix=classpath:/templates/
    spring.thymeleaf.suffix=.html
    spring.thymeleaf.mode=LEGACYHTML5
    spring.thymeleaf.encoding=UTF-8
    spring.thymeleaf.content-type=text/html
    spring.thymeleaf.cache=false
    

    再在pom.xml 添加以下依赖

    
    net.sourceforge.nekohtml
    nekohtml
    1.9.22
    
    

    转自https://blog.csdn.net/liming_0820/article/details/80878168

你可能感兴趣的:(spring,boot)