我尝试了解spring boot如何处理html页面。我开始关注指南http://localhost/merchant/。本指南介绍了如何使用html页面和查看技术Thymeleaf。它有页面:
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Getting Started: Serving Web Content</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="'Hello, ' + ${name} + '!'" />
</body>
</html>
我已将其更改为简单
<!DOCTYPE HTML>
<html>
<head>
<title>Getting Started: Serving Web Content</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
Hello
</body>
</html>
以下from spring.io将spring-boot-starter-thymeleaf
(现在不需要)更改为spring-boot-starter-web
,之后我无法看到网页。我看到结果:
There was an unexpected error (type=Not Found, status=404).
No message available.
当我将Gradle依赖关系恢复为thymeleaf
时,一切正常。
Controller src/main/java/hello/GreetingController.java
package hello;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class GreetingController {
@RequestMapping("/greeting")
public String greeting() {
return "greeting";
}
}
申请src/main/java/hello/Application.java
package hello;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
有人可以解释一下web
这个唯一的HTML网页thymeleaf
和src/main/resources/templates/greeting.html
依赖关系之间的区别吗?
答案 0 :(得分:3)
它也应该与gradle依赖项org.springframework.boot:spring-boot-starter-web:1.2.5.RELEASE
而不是org.springframework.boot:spring-boot-starter-thymeleaf:1.2.5.RELEASE
一起使用。
spring-boot-starter-web
的功能类似于使用spring开发Web应用程序所需的一组基本依赖项。这些基本依赖项是:
spring-boot-starter-thymeleaf
基于spring-boot-starter-web
并添加了一些其他依赖项,例如百万美元模板引擎:
你可以在mvnrepository.com上查看(spring-boot-starter-thymeleaf和spring-boot-starter-web)。