Learn from the station b springcloud, now summarize the summary removal of a small error appearing in the video, some of the error-prone places were reminded
b outbound links: https://www.bilibili.com/video/av55993157
data link:
https://pan.baidu.com/s/1o0Aju3IydKA15Vo1pP4z5w
extraction code: 21ru
On a link
next section link:
The following list summarizes:
modifying the first lecture Engineering Springboot, POM → parent with a profile Application.yml controller / IndexHandler.java → new resources / templates / index.html → detecting codes added
Modify controller / IndexHandler.java → modify the code resources / templates / index.html + → incorporated detected
Implementation details:
1. Open the project springboot (Lecture created a link )
2. Add code in the parent pom file:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
Complete parent pom file code:
<?xml version="1.0" encoding="UTF-8"?>
<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>com.southwind</groupId>
<artifactId>springboot</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 继承父包 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.7.RELEASE</version>
</parent>
<dependencies>
<!-- web启动jar -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
</project>
3. Add code in application.yml, which is the complete code:
server:
port: 9090
spring:
thymeleaf:
prefix: classpath:/templates/ #前缀
suffix: .html #后缀
mode: HTML5 #模型
encoding: UTF-8 #编码
4. New IndexHandler.java in the controller, fill in the code:
package com.southwind.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/index")
public class IndexHandler {
@GetMapping("/index")
public String index(){
System.out.println("index...");
return "index";
}
}
5. record file in the resources folder templates
because application.yml .html suffix is
so new templates in the index
6. In the index.html <body> </ body> add Code: <h1> hello world < / h1>
its complete code:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>hello world</h1>
</body>
</html>
7. Application restart start classes
into the HTTP: // localhost: 9090 / index / index
8. The index modifying part of the code controller / IndexHandler of:
public String index(Model model){
System.out.println("index...");
List<Student> list = new ArrayList<>();
list.add(new Student(1l,"张三",12));
list.add(new Student(2l,"李四",22));
list.add(new Student(3l,"王五",14));
model.addAttribute("list",list);
return "index";
}
Complete code:
package com.southwind.controller;
import com.southwind.entity.Student;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.ArrayList;
import java.util.List;
@Controller
@RequestMapping("/index")
public class IndexHandler {
@GetMapping("/index")
public String index(Model model){
System.out.println("index...");
List<Student> list = new ArrayList<>();
list.add(new Student(1l,"张三",12));
list.add(new Student(2l,"李四",22));
list.add(new Student(3l,"王五",14));
model.addAttribute("list",list);
return "index";
}
}
9. After the resources / templates / index.html of </ h1> Code plus:
<table>
<tr>
<th>学生ID</th>
<th>学生姓名</th>
<th>学生年龄</th>
</tr>
<tr th:each="student:${list}"><!-- 对应第二行html -->
<td th:text="${student.id}"></td>
<td th:text="${student.name}"></td>
<td th:text="${student.age}"></td>
</tr>
</table>
And introducing the second row index:
<html xmlns:th="http:www.thymeleaf.org"></html>
complete:
<!DOCTYPE html>
<html xmlns:th="http:www.thymeleaf.org"></html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>hello world</h1>
<table>
<tr>
<th>学生ID</th>
<th>学生姓名</th>
<th>学生年龄</th>
</tr>
<tr th:each="student:${list}"><!-- 对应第二行html -->
<td th:text="${student.id}"></td>
<td th:text="${student.name}"></td>
<td th:text="${student.age}"></td>
</tr>
</table>
</body>
</html>
10 Restart Application
enter http: // localhost: 9090 / index / index
If you want clients can directly access the HTML resource, the resource will be placed under resour / static route to, or have to access resources through the background static mapping of Handler