在没有做前后端分离之前,我们还是需要 JSP / Thymeleaf 之类的模板引擎,Thymeleaf 据说是 SpringBoot 官方推荐的,集成地比较好,本文将介绍。
1、在 pom.xml 添加依赖
2、在 application.properties 里添加属性配置
1、创建 MainController
2、在 resource/templates 下新建 index.html
通过 EL 表达式将 Model 中的数据填充到 h1 标签中
1、Model 中包含简单对象
Controller
HTML
效果图
2、Model 中包含 List
Controller
HTML
本篇文章目的不是介绍 Thymeleaf,如果想学习 Thymleaf 可以参考这篇文章
Thymleaf 快速入门教程
Thymleaf 模板表达式大全
Thymleaf 官方文档
一、文件配置
1、在 pom.xml 添加依赖
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-thymeleaf</artifactId>
- </dependency>
2、在 application.properties 里添加属性配置
- #去掉thymeleaf的严格的模板校验
- spring.thymeleaf.mode=HTML
- #关闭缓存及时刷新,上线的时候改成true
- spring.thymeleaf.cache=false
- spring.thymeleaf.prefix=classpath:/templates/
- spring.thymeleaf.suffix=.html
- spring.thymeleaf.encoding=utf-8
二、小试牛刀
1、创建 MainController
- @Controller
- public class MainController {
- /**
- * 访问localhost:8080 页面
- * 将数据message填充到templates/index.html
- * @param model
- * @return
- */
- @GetMapping("/")
- public String indexPage(Model model) {
- String message = "Hello, Thymeleaf!";
- model.addAttribute("message", message);
- return "index";
- }
- }
2、在 resource/templates 下新建 index.html
- <!doctype html>
- <html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>首页</title>
- </head>
- <body>
- <h1 th:text="${message}"></h1>
- </body>
- </html>
通过 EL 表达式将 Model 中的数据填充到 h1 标签中
三、再试牛刀
1、Model 中包含简单对象
Controller
- @Controller
- public class MainController {
- /**
- * model.addAttribute("name",value);
- * addAttribute 两个参数,前者是对象名称,在 HTML 页面中,使用EL表达式${name}获取对应value
- * @param model
- * @return
- */
- @GetMapping("/")
- public String indexPage(Model model) {
- User user = new User();
- user.setId(1);
- user.setName("言小曌");
- user.setAge(18);
- model.addAttribute("user", user);
- model.addAttribute("message","Hello Thymeleaf");
- return "index";
- }
- }
HTML
- <!doctype html>
- <html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>首页</title>
- </head>
- <body>
- <h1 th:text="${message}"></h1>
- <span th:text="${user.id}"></span>
- <span th:text="${user.name}"></span>
- <span th:text="${user.age}"></span>
- </body>
- </html>
效果图
2、Model 中包含 List
Controller
- @Controller
- public class MainController {
- /**
- * model.addAttribute("name",value);
- * addAttribute 两个参数,前者是对象名称,在 HTML 页面中,使用EL表达式${name}获取对应value
- * @param model
- * @return
- */
- @GetMapping("/")
- public String indexPage(Model model) {
- List<User> userList = new ArrayList<>();
- User user = new User(1,"安琪拉",12);
- User user2 = new User(2,"虞姬",14);
- User user3 = new User(3,"公孙离",13);
- User user4 = new User(4,"蔡文姬",11);
- userList.add(user);
- userList.add(user2);
- userList.add(user3);
- userList.add(user4);
- model.addAttribute("userList", userList);
- return "index";
- }
- }
HTML
- <!doctype html>
- <html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>首页</title>
- </head>
- <body>
- <table width="200" style="text-align: center;">
- <tr>
- <th>编号</th>
- <th>姓名</th>
- <th>年龄</th>
- </tr>
- <tr th:each="user : ${userList}">
- <td th:text="${user.id}"></td>
- <td th:text="${user.name}"></td>
- <td th:text="${user.age}"></td>
- </tr>
- </table>
- </body>
- </html>
本篇文章目的不是介绍 Thymeleaf,如果想学习 Thymleaf 可以参考这篇文章
Thymleaf 快速入门教程
Thymleaf 模板表达式大全
Thymleaf 官方文档
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏