接上篇,一个spring boot框架搭建好以后,我们可以开始写一些东西了,这时候你是否会想到创建一个jsp文件呢?然后突然发现原来你使用jsp的写法不管用了,这是因为spring不建议使用jsp来开发web,推荐我们使用Thymeleaf来作为前台模板引擎来开发web。
Thymeleaf是一个Java模板引擎开发库,可以处理和生成HTML、XML、JavaScript、CSS和文本,在Web和非Web环境下都可以正常工作。
Thymeleaf可以跟Spring boot很好的集成。
既然是这样,我们就来配置一下Thymeleaf吧。
很简单,在pom.xml里面添加Thymeleaf的jar包引用。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
在这里需要注意和下面这个jar包是否冲突的问题。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
因为有的thymeleaf包里已经自带了web,
如果你发现你的这个里面有web包,就把外面那个web删掉,这里没有的话就不用删。
resources目录下的templates目录是放置前台文件的,
在这里新建一个html文件,
然后在controller里新建方法,controller这里要注意一下,注解要用@Controller,
而不是@RestController,因为@RestController返回的是json数据,而不是前台页面。
然后启动项目,在浏览器里输入http://localhost:8080/测试一下
模板加载成功。这时候就想到了一个问题,当我修改了模板以后,怎么立即看到修改后的效果呢?不要慌,这就是下面我要说的,把热部署的功能集成进来。
在pom.xml文件里引入devtools
<!-- 热部署组件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>
然后修改两处配置。首先是在设置里
Settings-Compiler-Make Project automatically 勾选上
然后是按快捷键(ctrl + shift + alt + /),选择第一个Registry进入
进去以后,勾选上
重启项目,访问http://localhost:8080/
界面是这样的,我们来把html文件上的字修改一下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>Thymeleaf</h1>
<h2>hello world</h2>
</body>
</html>
增加一行文字,然后返回浏览器,刷新页面
效果出来了,热部署成功!