小编典典

spring只是呈现一个html页面

spring-boot

问题:

使用Spring 4,我在访问网页时得到了这个

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Fri Aug 15 16:41:29 BST 2014
There was an unexpected error (type=Not Found, status=404).

我有的:

我有这个主班:

// src/main/java/abc/Main.java
package abc;

import abc.web.WebAppConfig;
import org.springframework.boot.SpringApplication;

public class Main {
    public static void main(String[] args) {
        SpringApplication.run(WebAppConfig.class);

    }
}

然后,我有了这个WebAppConfig.class(当前仅带有一些配置注释):

// src/main/java/abc/web/WebAppConfig.java
package abc.web;

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;

@ComponentScan
@EnableAutoConfiguration
public class WebAppConfig {

}

而这个控制器HomeController.java:

// src/main/java/abc/web/HomeController.java
package abc.web;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import static org.springframework.web.bind.annotation.RequestMethod.GET;

@Controller
@RequestMapping("/")
public class HomeController {

    @RequestMapping(method = GET)
    public String home() {
        System.out.println("HELLO !!");
        return "home";
    }
}

喂!显示在日志中。

最后我有一个html文件src/main/java/abc/webapp/home.html,其中只有一些html标记,包括带有的p标记Hello, world!

问题:

我知道我缺少渲染视图的方法,但是我搜索了一些关于stackoverflow的问题,但还没有找到解决方案。

有人可以解释一下如何让Spring呈现网页吗?我想念什么?

提前致谢 :)


阅读 335

收藏
2020-05-30

共1个答案

小编典典

只要位于类路径上,Spring Boot就会自动将Thymeleaf用作并配置为视图渲染引擎。放在classpath上使用

compile("org.springframework.boot:spring-boot-starter-thymeleaf")

在gradle构建文件中。

如果您使用的是maven,请添加依赖项:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

为了显示home.html视图(根据您使用的控制器),您需要将其放在下/resources/templates

有关完整示例,请参阅指南。

2020-05-30