当前位置: 首页 > 知识库问答 >
问题:

在spring boot项目中,将CSS等静态文件放在哪里?

巫英纵
2023-03-14

在我当前的spring boot项目中,我的视图有以下几行:

<link href="signin.css" rel="stylesheet"/>

引用静态css文件。当我运行项目并访问引用此文件的视图之一时,我会收到404未找到错误或403未经授权的错误,具体取决于我将文件放在项目中的位置。

到目前为止,我一直在尝试:

src/main/resources/static/css (with this, I use css/signin.css instead of signin.css)

src/main/resources/templates/static/css (with this, I use css/signin.css instead of signin.css)

src/src/main/resources/templates/acesso (same folder of the html file)

存储此类文件的正确位置是什么?

共有3个答案

童琪
2023-03-14

你可以使用Thymeleafhttp://www.thymeleaf.org/

实例

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
    <link rel="stylesheet" th:href="@{/css/signin.css}"/>
</head>
<body>
</body>
</html>

请记住在您的html标签中添加xmlns和xmlns: th。

检查您的application.properties:

spring.resources.add-mappings=true

如果该键设置为false,spring boot应用程序将不会加载任何资源。

宰父淳
2023-03-14

除了将其放置在src/main/resources/static下的任何位置,并且不使用EnableWebMvc之外,您还需要授权访问您的js或css文件夹,特别是如果您的类路径中有spring boot security。您将添加以下内容:

@Configuration
@EnableWebSecurity
public class MainSecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/", "/home", "/js/**", "/css/**").permitAll()
                .anyRequest().authenticated()
                .and()
            .formLogin()
                .loginPage("/login")
                .permitAll()
                .and()
            .logout()
                .permitAll();
    }
}

然后在HTML中:

<link rel="stylesheet"  href="/css/bootstrap.min.css">
<script src="/js/bootstrap.min.js"></script>
索令
2023-03-14

src/main/resources/static下方的任何地方都是放置静态内容(如CSS、JavaScript和图像)的合适位置。静态目录由提供。例如,src/main/resources/static/signin。css将由signin提供。css,而src/main/resources/static/css/signin。css将由css/signin提供。css。

src/main/resources/templates文件夹用于查看模板,这些模板将由模板引擎(如Thymeleaf、Freemarker或Velocity等)转换为HTML。您不应该将静态内容放置在此目录中。

还要确保您的应用程序中没有使用EnableWebMvc,因为这将禁用Spring Boot对Spring MVC的自动配置。

 类似资料:
  • 问题内容: 在我当前的spring-boot项目中,我的观点如下: 引用静态CSS文件。运行项目并访问引用此文件的视图之一时,会收到404 not found错误或403未经授权的错误,具体取决于我将文件放在项目中的位置。 到目前为止,我尝试了以下方法: 什么类型的文件存储在正确的位置? 问题答案: 在下面的任何地方都是放置静态内容(如CSS,JavaScript和图像)的适当位置。静态目录从提供

  • 问题内容: 我有一个非常简单的属性文件测试,我正试图开始工作:(以下是TestProperties.java) 和TestProperties.properties在同一目录中: 我也将其另存为 当我从Eclipse运行TestProperties.java时,找不到属性文件: 难道我做错了什么? 问题答案: 将其放在您的源路径之一的根目录下,或在对的调用中完全限定资源名称,例如 有关更多信息,请

  • 我创建了一个简单的Maven项目,没有原型,一切都很好。然后我添加了一个CVA。主/资源目录下的pmml文件。之后,我想读取该文件,但得到了FileNotFoundException。我尝试了以下方法: 方法一: 方法二: 方法3: 方法四: 它们都不起作用。有什么建议吗? 以下是项目结构的屏幕截图:

  • 问题内容: 在Vaadin 10-14中,应该将静态文件(例如CSS,JavaScript和Polymer模板)放在哪里?静态文件(例如图像)如何? 另外,如何在Vaadin中导入这些文件?带有npm的Vaadin 14和带有凉亭的Vaadin 10-13之间有区别吗? 问题答案: 所有路径都相对于项目根目录,例如文件在Maven项目中的位置。 使用导入的JavaScript 使用严格模式。除其他

  • a)如果我把persistence.xhtml放在src/main/java/META-INF/Gradle不会将其包含在生成的jar文件中,因为它不是java文件。 b)如果我把它放在src/main/Resources/META-INF/Gradle会将它包含在生成的jar文件中但是Eclipse会抱怨"Nopersistence.xmlfile find in project"即使我在源代码

  • 问题内容: 我是新手,并且已经学习了很多天,我已经开始使用django建立一个小型网站,并尝试通过在文件中安排所有必要的设置来提供文件。但不幸的是,我的代码无法提供CSS文件,我的意思是提供CSS文件的概念无法正常工作。我在Google上搜索了很多东西,并浏览了django主要文档教程,并根据它们进行了更改,但仍然无法正常工作,因此将我的整个代码粘贴到了下面 项目文件夹的结构 我的一些settin