1,新建项目。
2,配置数据库、整合mybatis-plus、逆向工程详见mybatis-plus。resources->
3,thymeleaf。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
在application.yml中配置thymeleaf
spring: ? thymeleaf: ? ? enabled: true ?#开启thymeleaf视图解析 ? ? encoding: utf-8 ?#编码 ? ? prefix: classpath:/templates/ ?#前缀 ? ? cache: false ?#是否使用缓存 ? ? mode: HTML ?#严格的HTML语法模式 ? ? suffix: .html ?#后缀名
全部的配置为:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: 123456
thymeleaf:
enabled: true #开启thymeleaf视图解析
encoding: utf-8 #编码
prefix: classpath:/templates/ #前缀
cache: false #是否使用缓存
mode: HTML #严格的HTML语法模式
suffix: .html #后缀名
mybatis-plus:
mapper-locations: classpath*:/mapper/**Mapper.xml
在resource下新建templates包并在该目录下新建index.html文件
在controller中新建TestController
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class ThymeleafTestController {
@ResponseBody
@RequestMapping("/getIndex")
public String getIndex() {
return "index";
}
@RequestMapping("/getIndex2")
public String getIndex2() {
return "index";
}
}
注意:在类上不能使用@RestController注解,否则获取不到html页面,只能返回字符串。
所以用的@Controller。而在用@Controller的情况下,方法中如果要返回字符串,就加@ResponseBody注解。
RestController的作用相当于Controller加ResponseBody共同作用的结果,但采用RestController请求方式一般会采用Restful风格的形式。
相关html页面和controller。
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<span th:text="${msg}"></span>
<!--显示所有-->
<table align="center" border="1px" cellspacing="0" cellpadding="10px">
<thead>
<tr>
<th>姓名</th>
<th>密码</th>
<th>年龄</th>
<th>职业</th>
</tr>
</thead>
<tbody>
<tr th:each="user:${userList}">
<td th:text="${user.name}"></td>
<td th:text="${user.password}"></td>
<td th:text="${user.age}"></td>
<td th:text="${user.job}"></td>
</tr>
</tbody>
</table>
<div>增</div>
<div>删</div>
<div>改</div>
<div>查</div>
</body>
</html>
package com.example.mybatisplus.controller;
import com.example.mybatisplus.entity.Userdemo;
import com.example.mybatisplus.service.IUserdemoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.HashMap;
import java.util.List;
@Controller
public class ThymeleafTestController {
@Autowired
IUserdemoService iUserdemoService;
@ResponseBody
@RequestMapping("/getIndex1")
public String getIndex1() {
return "index";
}
@RequestMapping("/getIndex2")
public String getIndex2() {
return "index";
}
@RequestMapping("/getIndex")
//返回数据有多种方式,以下只是其中一种
public String getIndex(Model model) {
model.addAttribute("msg" , "Hello Thymeleaf");
// 查询所有
List<Userdemo> list = iUserdemoService.list();
model.addAttribute("userList",list);
return "index";
}
}
|