创建模块(工程)
使用脚手架进行依赖添加
在idea中 有 时候mavne不能自动构建项目这个时候 需要我们手动的添加模块在maven管理工具中
- 点击右侧的maven菜单
- 点击菜单中的+号
- 选择我们要添加的模块或者项目
推荐习惯:每次创建项目或者工程的时候 ,检查一下idea中的maven是不是当前本地的maven环境
当前项目中的依赖
<!-- thymeleaf-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- web支持-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--热部署工具-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<!-- 小辣椒工具-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- 测试工具-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
配置thymeleaf
在全局配置文件中配置Thymeleaf模板的一些参数。如设置模板缓存、模板编码、模板样式、指定模板页面存放路径、指定模板页面名称的后缀
配置文件不要去背诵不要去自己写
thymeleaf页面缓存设置(默认为true),开发中方便调试应设置为false,上线稳定后应保持默认true
spring.thymeleaf.cache = false
spring.thymeleaf.encoding = UTF-8
spring.thymeleaf.mode = HTML5
spring.thymeleaf.prefix = classpath:/templates/
spring.thymeleaf.suffix = .html
推荐使用yml格式 但是本次的测试中使用properties文件配置
上面的配置 其实是Springboot中内置的 也可以不用配置 使用上面的配置可以更加灵活的处理我们的Thymeleaf
其他:Spring Boot默认将/**
所有访问映射到以下目录(所有的请求)
- classpath:/META-INF/resources/:项目类路径下的META-INF文件夹下 的resources文件夹下的所有文件。
- classpath:/resources/:项目类路径下的resources文件夹下的所有文件。
- classpath:/static/:项目类路径下的static文件夹下的所有文件
- classpath:/public/:项目类路径下的public文件夹下的所有文件
创建控制类
package top.yxqz.thymeleaf.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import java.util.Calendar;
/**
* 学习Thymeleaf的控制层
*/
@Controller
public class LoginController {
/**
* toLoginPage: 请求的路由
* @param model 来自于Spring中的,官方推荐使用Model来封装数据
* @return 跳转的页面,不是数据 页面的后缀以及页面所在的目录 都是已经在SpringBoot中配置好了的 在templates目录下 后缀是.html
* 以上的配置 可以通过操作Thymeleaf 的配置文件进行自定义
*/
@GetMapping("/toLoginPage")
public String toLoginPage(Model model){
// 设置内容到Model域对象中 功能是获取当前年份
model.addAttribute("currentYear", Calendar.getInstance().get(Calendar.YEAR));
return "login";
}
}
创建模板页面并引入静态资源文件
创建一个用户登录的模板页面login.html,部分参考代码如下
引入的资源结构如图所示