现在网站大致就是两种方案,服务器端渲染HTML或者单页面应用+API的方式。

服务器端渲染以前有 JSP 这样的方案,但由于 JSP 中要夹杂很多的 Java 代码,和前端开发一起工作的时候会前端可能会看不懂 JSP 的页面,不知道哪些部分可以修改。而使用 Thymeleaf 来进行开发的话,它的语法就和现在的前端框架很接近。而且 Thymeleaf 的 HTML 文件脱离了我们 Java 后端的数据,依然可以在浏览器中看到页面的效果,对前端开发比较友好。

当然,如果写习惯了 JSP,也没有使用过一些常见的前端框架的话,可能就对 Thymeleaf 的语法比较陌生了。

 

开始使用

我们这个项目是 Maven 构建的,所以先在 pom.xml 中添加所需要的依赖。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

 

保存之后,IntelliJ 会提示我们是否导入我们添加的依赖,点击 Enable Auto-Import ,以后我们修改了 pom.xml 中的依赖它就会自动开始下载了。

打开 resources 下的 application.properties ,在里面添加一行

spring.thymeleaf.cache=false

这样子可以关闭掉 Thymeleaf 的缓存,target 中的文件改变之后不需要重启 Spring Boot 应用(Tomcat)就可以刷新看到变化。

 

打开之前创建的 HomeController ,然后我们把 index 方法改成这样

@GetMapping("/")
public String index(Model model) {
    model.addAttribute("message", "Hello Thymeleaf");
    return "index";
}

続きを読む