我尝试使用spring工具套件和eclipse用spring构建一个简单的web应用程序。作为模板,我使用的是thymeleaf,但由于一些奇怪的原因,我无法在html页面中加载js或css等静态文件。
更新一个最小的示例:
src/main/java下的文件夹
package com.visualizer.web;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class AlgorithmVisualizerApplication {
public static void main(String[] args) {
SpringApplication.run(AlgorithmVisualizerApplication.class, args);
}
}
package com.visualizer.web.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
@ComponentScan
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("test");
}
}
我的html src/main/resources/templates/test.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link th:href="@{/css/testLayout.css}" rel="stylesheet" />
<script type="text/javascript" th:src="@{/js/testJS.js}"></script>
</head>
<body onload=test()>
<h1>TEST</h1>
</body>
</html>
我的css在src/main/resources/static/css/testlayout.css找到
BODY {
color: green;
}
我的js位于src/main/resources/static/js/testjs.js
function test() {
console.log("test successfull");
}
构建.gradle
plugins {
id 'org.springframework.boot' version '2.5.0-SNAPSHOT'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'com.visualizer.web'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '16'
repositories {
mavenCentral()
maven { url 'https://repo.spring.io/milestone' }
maven { url 'https://repo.spring.io/snapshot' }
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
}
test {
useJUnitPlatform()
}
我的test.html可以加载,但是css和js不能加载。
1条答案
按热度按时间fykwrbwg1#
例如,如果您的应用程序正在端口8080上的localhost上运行,那么请检查http://localhost:8080/css/layout.css工作。
另外,请务必在此处使用前导斜杠:
更新:
根据您最新的问题信息,我可以这样说:
拆下
WebConfig
类,并创建一个控制器类。例如: