我今天开始java春天,我有一个问题。当url触发我的控制器时,我想打开我的.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 =&#34; / static / **&#34;位置=&#34; /静态/&#34;
#
我想应该有&#34; web.xml&#34;但我没有它
<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>
答案 0 :(得分:0)
如果您执行return "redirect:/index"
这意味着它的确切含义:重定向到/index
,这意味着您还需要一个支持/index
端点的方法(并且您不需要&#39} ;显示你有一个)。
如果您只想从模板返回页面,则需要return "index";
。
如果资源处理程序设置正确,则会查找相应的文件并将其返回。
答案 1 :(得分:-1)
不要在Spring引导中使用@EnableWebMvc,如果将spring-web包含为maven依赖项,它将自动配置。
您使用的是哪种模板引擎?如果您不使用模板引擎,您可以使用例如百日咳。只需将其添加到您的pom:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>