转载

springboot模板没法渲染一定要检查一下pom.xml中的过滤器

项目的pom.xml资源过滤配置如下

<resources>
            <resource>
                <directory>src/main/resources</directory>
                <!-- src/main/resources下的指定资源放行 -->
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.yml</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
</resources>

spring boot + thymeleaf今天在启动时提示

WARN:Cannot find template location: classpath:/templates/ (please add some templates or check your Thymel]

然后运行页面报错

Error resolving template "pages", template might not exist or might not be accessible by any of the configured Template Resolvers

  • 对于第一个警告,网上百度到的方法大都是
这个警告你可以选择忽略,不会影响编译,实在看不过去或者不想看到警告内容可以按下面操作。

解决方法:

在application.propertoes或yml配置文件中添加,

spring.freemarker.checkTemplateLocation=false

spring: 
       freemarker:
         checkTemplateLocation: false

这个有点想不明白,明显都提示模板没找到了还忽略提示,有点奇葩

  • 对于第二个报错,其实也是因为模板没找到引起的,百度一大堆方法

改application.propertoes,加注释,各种方法都没问题,最后就是页面渲染不出来。

  • 总结

归根结底,还是因为模板没找,这时才想起pom.xml中的资源过滤,把.html的文件类型给过滤掉了。加上就好了。

<resources>
            <resource>
                <directory>src/main/resources</directory>
                <!-- src/main/resources下的指定资源放行 -->
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.yml</include>
                    <include>**/*.xml</include>
                    <include>**/*.html</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
原文  https://segmentfault.com/a/1190000022347841
正文到此结束
Loading...