| 知乎专栏 |
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
创建目录 src/main/resources/templates/ 用户存放模板文件
spring.thymeleaf.prefix=classpath:/templates/ spring.thymeleaf.suffix=.html spring.thymeleaf.mode=HTML5 spring.thymeleaf.encoding=UTF-8 spring.thymeleaf.content-type=text/html spring.thymeleaf.cache=false
package cn.netkiller.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping("/")
public class HelloController {
@GetMapping("/hello")
// 如果此处使用 @ResponseBody,将会返回 "hello" 字符串,而不是模板
public String test() {
return "hello";
}
@RequestMapping("/hello1")
public String hello1(Map<String, Object> map) {
// 传递参数测试
map.put("name", "Neo");
return "thymeleaf";
}
@RequestMapping("/hello2")
public ModelAndView hello2() {
ModelAndView mv = new ModelAndView();
mv.addObject("name", "Amy");
mv.setViewName("thymeleaf");
return mv;
}
@RequestMapping(value = "/{name}", method = RequestMethod.GET)
public String getMovie(@PathVariable String name, ModelMap model) {
model.addAttribute("name", name);
return "hello";
}
}
在 src/main/resources/templates/ 目录下创建模板文件 hello.html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8" />
<title>Spring MVC + Thymeleaf Example</title>
</head>
<body>
<h1>Welcome to Thymeleaf</h1>
<span th:text="${name}"></span>
</body>
</html>