[转][转]springbooot2 thymeleaf 配置以及加载资源文件。

thymeleaf + Spring Boot 在开发环境正常,但用jar运行时报错 Error resolving template template might not exist or might not be accessible;

 

这个问题我们都很好明白,就是模板页不存在,但是实际上它能找到模板页,但是在使用th:include标签的时候才会出错,这就是问题的症结所在。

其实这个问题也很好解决,我们只需要在引用模板文件的时候不用”/”打头就可以了,通过类似相对路径的方式来引用,但是需要说明的是,这里的相对路径仍然是相对于模板根目录来做的。

 

 

/**
     * 不能以“/”开头,解决springboot部署之后找不到thymeleaf模版文件所在的位置。
     * @param paths
     * @return
     */
    private String combineViewPath(String... paths) {
        final String DirectorySeparatorCharJar = "/";
        String path = null;
        int length = paths.length;
        List<String> pathList = new ArrayList<>(length);
        for (int i = 0; i < length; i++) {
            path = paths[i];
            int lastIndex = path.lastIndexOf(DirectorySeparatorCharJar);
            if (lastIndex == path.length() - 1) {
                path = path.substring(0, lastIndex);
            }
            if (0 == path.indexOf(DirectorySeparatorCharJar)) {
                path = path.substring(1);
            }
            pathList.add(path);
        }
        return StringUtils.join(pathList.toArray(), DirectorySeparatorCharJar);
    }

 

springbooot2 thymeleaf 配置以及加载资源文件。Cannot find template location: classpath:/templates/ (please add some templates or check your Thymeleaf configuration)

 

 

下面的方案:(IDEA里面加上就不能访问静态资源了)

在pom.xml中引入如下配置

<build>
        <finalName>lightstar</finalName>
        <resources>
            <resource>
                <!--加载资源目录-->
                <directory>src/main/resources</directory>
                <includes>
                    <!--加载配置文件-->
                    <include>**/*.xml</include>
                    <include>**/*.properties</include>
                    <!--加载模板文件-->
                    <include>**/*.html</include>
                    <!--加载静态文件-->
                    <include>/static/</include>
                </includes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

 

posted @ 2020-02-28 15:11  —八戒—  阅读(435)  评论(0编辑  收藏  举报