Spring排除了一些未由百日咳处理的静态html文件

时间:2017-06-27 10:05:10

标签: spring-boot thymeleaf

enter image description here在我的springboot WebApplication中,我创建了一个名为templates的文件夹,其中包含所有动态内容html文件,它将使用百万美元来呈现html内容。

我的问题是,我只希望用thyemeleaf解析此文件夹templates。但对于任何文件夹中的其他html文件,我只想返回静态html文件。谁知道怎么做?

我们可以使用下面的代码来定义resourceHandlers吗?

registry.addResourceHandler("/**").addResourceLocations("/");

非常感谢你的回答..

2 个答案:

答案 0 :(得分:0)

默认情况下,Spring Boot会将/srs/main/resources/static中的所有文件映射到您的根位置。

答案 1 :(得分:0)

从@benkuly的回答我仔细查看springboot代码,发现问题是springboot已将这些路径自动配置为静态资源ResourceProperties

private static final String[] SERVLET_RESOURCE_LOCATIONS = { "/" };

private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
        "classpath:/META-INF/resources/", "classpath:/resources/",
        "classpath:/static/", "classpath:/public/" };

因此,上面两条路径将用于静态资源的位置。 在这里,我想解析位于我们的根类路径中的services.html和aboutus.html,所以除了这些默认的静态资源位置,我们仍然需要添加这个静态路径:"classpath:/"

希望这个问题可以帮助其他人明确了解springboot中的静态资源。谢谢。