在本系列的 上一篇文章, 我们搭建了 Spring MVC 与 Thymeleaf 整合的项目。本次实验,我们来学习一些 Thymeleaf 的基本使用。
输出变量
在 上一篇文章 的末尾,我们构建了 index.html 视图(thymeleaf模板), 输出了固定的字符串 “Hello Thymeleaf !”。 如果我们希望输出的内容是变化的,比如输出当前系统的名称。
在 Spring MVC 与 Thymeleaf 的整合中,这个功能很容易实现,只需要在 Controller 中存入变量,然后在模板中引用该变量即可。具体如下:
- 修改 Controller
打开 IndexController.java 文件,修改如下:
1 |
|
- 修改 Thymeleaf 模板
打开 index.html 文件,修改如下:
1 |
|
获取用户输入
为获取用户使用 HTML Form 提交的内容,我们通常使用一个 DTO 类。 这里,我们模仿一个用户登录的案例。
- 新建 DTO
在项目中新建名为: cn.com.hohistar.training.petstore.dto 的包,在其中新建名为 LoginFormDto 的类, 内容如下:
1 | public class LoginForm { |
- 然后修改 Controller
打开 IndexController.java, 修改如下:
1 |
|
- 添加 Thymeleaf 模板
这次,我们需要添加两个模板文件:
login.html
1 |
|
home.html
1 |
|
为了让页面有的色彩,我们也添加一个 CSS 文件,**注意,该文件放置在 webapp/static/css 文件夹中。
1 | .hello-title{ |
使用 Thymeleaf 中的条件判断
模拟登录不成功时输出提升信息的场景。
- 修改 Controller
1 | "/login") ( |
- 修改 Thymeleaf 模板
index.html
1 |
|
使用 Thymeleaf 中的循环
- 修改 IndexConroller, 加入输出用户列表的方法
1 | "/acc/list") ( |
- 新增 acc/list.html 文件, 内容如下:
1 |
|