[英]Java Spring Boot Static Files
我今天开始Java春季,我对此有疑问。 当网址触发我的控制器时,我想打开.html页面。 我以前做过Python Django和c#ASP.NET,但是现在我不明白为什么它不起作用。
Spring Boot版本:1.5.3.RELEASE
package berkin.kodgemisi.springbootstarter.home;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@EnableWebMvc
@Controller
public class HomepageController {
@RequestMapping(path="/")
public String index(){
return "html/index.html";
}
}
它是如此简单。 如果url为“ /”,则重定向到index.html,但我感到困惑。 它是我的HTML页面。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World</title>
</head>
<body>
<p> Hello World </p>
</body>
</html>
此页面不再简单
我的依赖项有问题吗? 我应该写吗?
我也找到了关于stackoverflow的解决方案。 一个人说
mvc:resources mapping =“ / static / **” location =“ / static /”
#
我猜应该有类似“ web.xml”的东西,但我没有
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>berkin.kodgemisi.hr</groupId>
<artifactId>kodgemisi.hr</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>HR App</name>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.190</version><!--$NO-MVN-MAN-VER$ -->
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
如果您确实return "redirect:/index"
,则表示它的含义:重定向到/index
,这意味着您还需要一种支持/index
端点的方法(并且您没有显示自己的方法)。
如果只想从模板返回页面,则只需return "index";
。
如果您的资源处理程序设置正确,它将查找适当的文件并返回。
在春季启动时不要使用@EnableWebMvc,如果将spring-web作为maven依赖项包含在内,它将自动配置。
您正在使用哪个模板引擎? 如果不使用模板引擎,则可以使用例如百里香叶。 只需将其添加到您的pom中:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.