首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring boot项目不加载资源

Spring boot项目不加载资源
EN

Stack Overflow用户
提问于 2016-06-29 11:14:41
回答 3查看 1.5K关注 0票数 1

我有这个结构的spring boot项目

代码语言:javascript
复制
srs-
 -main
   -java
      -MvcConfigurer.java
      -LkApplication.java
   -resource
      -static
         -css
      -templates
         -layout
           -defoultLayout.ftl
           -header.ftl
           -footer.ftl
        -index.ftl

defoultLayout.ftl中,我包含CSS文件

代码语言:javascript
复制
<head>
    <meta charset="utf-8">
    <link rel='stylesheet' href='../../static/css/bootstrap.min.css'>
    <link rel='stylesheet' href='../../static/css/core.css'>
</head>

但它没有装上子弹。我有一些类似的结构和他们都加载的项目,但这不是。

我的类:

代码语言:javascript
复制
@SpringBootApplication
public class LkApplication {

    public static void main(String[] args) {
        SpringApplication.run(LkApplication.class, args);
    }
}

代码语言:javascript
复制
@Configuration
@EnableWebMvc
public class MvcConfigurer extends WebMvcConfigurerAdapter {
    @Bean
    public ViewResolver viewResolver() {
        FreeMarkerViewResolver resolver = new FreeMarkerViewResolver();
        resolver.setCache(true);
        resolver.setPrefix("");
        resolver.setSuffix(".ftl");
        resolver.setContentType("text/html; charset=UTF-8");
        return resolver;
    }

    @Bean
    public FreeMarkerConfigurer freemarkerConfig() throws IOException, TemplateException {
        FreeMarkerConfigurationFactory factory = new FreeMarkerConfigurationFactory();
        factory.setTemplateLoaderPaths("classpath:templates", "src/main/resource/templates");
        factory.setDefaultEncoding("UTF-8");
        FreeMarkerConfigurer result = new FreeMarkerConfigurer();
        result.setConfiguration(factory.createConfiguration());
        return result;
    }

    @Override
    public void configureDefaultServletHandling(
            DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }
}

如何将资源文件加载到我的springboot项目?我使用:springboot,freemarker,bootstrap

EN

回答 3

Stack Overflow用户

发布于 2016-06-29 12:23:23

如果是maven或gradle,标准的文件夹结构应该是src/main/resources。然后,构建会将它们放入(假设)可执行的spring boot jar中。

假设你没有阻止任何端点的安全性,你应该能够像下面这样引用这些文件;

<link rel='stylesheet' href='/css/core.css'>

注意:'static‘从路径中去掉了。

票数 1
EN

Stack Overflow用户

发布于 2016-06-29 12:13:16

Spring Boot默认在resources目录中查找资源。我在我的项目中也有同样的问题。

将目录名称resource更改为resources //请在末尾注意

在此更改后,刷新项目,它将正常工作

票数 0
EN

Stack Overflow用户

发布于 2018-01-06 00:48:17

对我起作用的是:

代码语言:javascript
复制
<link rel="stylesheet" href="bootstrap-3.3.7/css/bootstrap.min.css" />
<script src="jquery/jquery-3.2.1.min.js"></script>
<script src="bootstrap-3.3.7/js/bootstrap.min.js"></script> 

SpringBoot中的默认位置为:

  • /META-INF/resources/
  • /resources/
  • /static/
  • /public/

这意味着起始点已经在正确的目录中,您需要从那里开始,即:

引导-3.3.7/css/bootstrap.min.css

没有斜杠或任何预付!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38089756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档