1、市面上主流的 Java 模板引擎有:JSP、Velocity、Freemarker、Thymeleaf
2、JSP 本质也是模板引擎,Spring Boot 官方推荐使用 “Thymeleaf”模板引擎
1、Thymeleaf 官网:https://www.thymeleaf.org/
2、Thymeleaf 在Github 的主页:https://github.com/thymeleaf/thymeleaf
使用 Thymeleaf 同样只需要在 pom.xml 引入此模块即可
1、使用非常简单,可以找到它的自动配置文件即可查看它的使用规则
2、其中默认规则如下:
默认前缀:DEFAULT_PREFIX = "classpath:/templates/"
默认后缀:DEFAULT_SUFFIX = ".html"
查看以下源码内容,这完全类似 Spring MVC 的映射规则,如果想修改这些配置只需要在全局配置文件中覆盖修改即可。
3、所以默认只要把 HTML 页面放在 classpath:/templates/ 下,thymeleaf 就能自动渲染, classpath:/templates/ 目录以外的 html 文件是无法使用 Thymeleaf 引擎的
4、当然自己可以在全局配置文件中覆盖修改这些规则,修改的选项可以从 “ThymeleafProperties” 文件中找到,以下是默认配置
可以打开application-dev.xml添加一些配置,覆盖以上源码,这里我们只需要添加一个cache=false即可(多余的仅作为参考,都是默认存在的配置)
package com.example.demo.controller;/**
* created by LiuLei on ${Date}
*/
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Map;
/**
* @auther LiuLei
* @date 2019/5/16 13:45
*/
/**@RestController 如果使用@RestController注解,会默认将index识别为字符串解析到页面!我们需要的是index.html页面,并不是字符串 */
@Controller
public class TemplateController {
@RequestMapping("/success")
public String index(Map paramMap) {
/** 默认的map的内容会放到请求域中,页面可以直接取值 */
paramMap.put("name","张三");
paramMap.put("age",28);
/** return模板文件的名称,对应src/main/resources/templates/index.html */
return "index";
}
}
Title
欢迎来到主页
姓名:获取到的内容填充
年龄:获取到的内容填充