您好我试图用百万富翁渲染我的html页面,但无法加载.js文件。我使用spring-boot,我的文件结构是src/main/resources/templates
,它包含我所有的html文件。我的css文件位于src/main/resources/static/css/
。我的.js文件位于src/main/resources/js/
。
现在我尝试渲染我的guest.html文件但它没有加载资源,因为我尝试检查chrome上的元素并在下面显示错误消息:
http://localhost:8080/js/bootstrap-formhelpers.min.js Failed to load resource: the server responded with a status of 404 (Not Found)
http://localhost:8080/js/bootstrap.min.js Failed to load resource: the server responded with a status of 404 (Not Found)
以下是我的guest.html文件中无法找到资源的问题:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js" th:src="@{https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js}" ></script>
<script src="../js/bootstrap.min.js" th:src="@{js/bootstrap.min.js}"></script>
<script src="../js/bootstrap-formhelpers.min.js" th:src="@{js/bootstrap-formhelpers.min.js}"></script>
答案 0 :(得分:5)
默认情况下,Spring Boot不提供src/main/resources
的静态内容。它提供以下 classpath 位置的内容:
classpath:/META-INF/resources
classpath:/static
classpath:/resources
classpath:/public
因此,src/main/resources/static/css
已投放,但未投放src/main/resources/js/
。
将js
目录移动到src/main/resources/static
目录以使其服务。另一个选择是添加资源处理程序:
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/js/**")
.addResourceLocations("classpath:/js/");
}
您还可以覆盖spring.resources.staticLocations
属性。
有关使用Spring Boot提供静态内容的更多信息,请参阅Spring Boot Documentation: Static Content。