文章目录
- 1. java体系模板引擎介绍
- 2. 使用
- 2.1 初步使用
- 2.2. 引用静态资源模板
- 2.3 引用静态资源模板(配置资源路径和后缀)
- 2.4 整合springboot
视频地址
1. java体系模板引擎介绍
- FreeMarker
- Thymeleaf
- Velocity
2. 使用
2.1 初步使用
- 引入依赖
<dependency><groupId>org.thymeleaf</groupId><artifactId>thymeleaf</artifactId><version>3.0.9.RELEASE</version>
</dependency>
- 初步使用
@Testpublic void fun01() {//创建模板引擎TemplateEngine templateEngine = new TemplateEngine();//准备模板String input = "<input type='text' th:value='hellothymeleaf'/>";//准备数据,使用contextContext context = new Context();//调用模板引擎,处理模板和数据String out = templateEngine.process(input, context);System.out.println("结果数据:" + out);}
@Testpublic void fun02() {//创建模板引擎TemplateEngine templateEngine = new TemplateEngine();//准备模板String input = "<input type='text' th:value='${name}'/>";//准备数据,使用contextContext context = new Context();context.setVariable("name","张三");//调用模板引擎,处理模板和数据String out = templateEngine.process(input, context);System.out.println("结果数据:" + out);}
2.2. 引用静态资源模板
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><input type='text' th:value='${name}'/>
</body>
</html>
@Test//使用静态资源模板public void fun03() {//创建模板引擎TemplateEngine templateEngine = new TemplateEngine();//读取磁盘中的模板文件ClassLoaderTemplateResolver classLoaderTemplateResolver = new ClassLoaderTemplateResolver();//设置引擎使用resolvertemplateEngine.setTemplateResolver(classLoaderTemplateResolver);//准备数据,使用contextContext context = new Context();context.setVariable("name", "张三");//调用模板引擎,处理模板和数据(处理的文件)String out = templateEngine.process("main.html", context);System.out.println("结果数据:" + out);}
2.3 引用静态资源模板(配置资源路径和后缀)
@Test//使用静态资源模板-配置路径前缀和后缀public void fun04() {//创建模板引擎TemplateEngine templateEngine = new TemplateEngine();//读取磁盘中的模板文件ClassLoaderTemplateResolver classLoaderTemplateResolver = new ClassLoaderTemplateResolver();classLoaderTemplateResolver.setPrefix("templates/");//设置路径前缀classLoaderTemplateResolver.setSuffix(".html");//设置资源后缀//设置引擎使用resolvertemplateEngine.setTemplateResolver(classLoaderTemplateResolver);//准备数据,使用contextContext context = new Context();context.setVariable("name", "张三");//调用模板引擎,处理模板和数据(处理的文件)String out = templateEngine.process("index", context);System.out.println("结果数据:" + out);}
2.4 整合springboot
- 引入依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
- 配置
spring:thymeleaf:cache: falsemode: HTMLprefix: classpath:/templates/suffix: .html
配置项以及其他配置项说明
#spring.thymeleaf.cache = true #启用模板缓存。
#spring.thymeleaf.check-template = true #在呈现模板之前检查模板是否存在。
#spring.thymeleaf.check-template-location = true #检查模板位置是否存在。
#spring.thymeleaf.content-type = text / html #Content-Type值。
#spring.thymeleaf.enabled = true #启用MVC Thymeleaf视图分辨率。
#spring.thymeleaf.encoding = UTF-8 #模板编码。
#spring.thymeleaf.excluded-view-names = #应该从解决方案中排除的视图名称的逗号分隔列表。
#spring.thymeleaf.mode = HTML5 #应用于模板的模板模式。另请参见StandardTemplateModeHandlers。
#spring.thymeleaf.prefix = classpath:/ templates / #在构建URL时预先查看名称的前缀。
#spring.thymeleaf.suffix = .html #构建URL时附加到查看名称的后缀。"前缀+模板名称+后缀"即可定位到具体的模板
#spring.thymeleaf.template-resolver-order = #链中模板解析器的顺序。
#spring.thymeleaf.view-names = #可以解析的视图名称的逗号分隔列表。/ templates / #在构建URL时先查看名称的前缀。
#spring.thymeleaf.suffix = .html #构建URL时附加到查看名称的后缀。
#spring.thymeleaf.template-resolver-order = #链中模板解析器的顺序。
#spring.thymeleaf.view-names = #可以解析的视图名称的逗号分隔列表。/ templates / #在构建URL时先查看名称的前缀。
#spring.thymeleaf.suffix = .html #构建URL时附加到查看名称的后缀。
#spring.thymeleaf.template-resolver-order = #链中模板解析器的顺序。
#spring.thymeleaf.view-names = #可以解析的视图名称的逗号分隔列表。
- controller
/*** @param model : 可以存放数据,存入到request域* @return string: 表示视图,实际会执行forward转发*/@RequestMapping("/hello")public String hello(Model model, HttpServletRequest httpServletRequest) {//添加数据// model.addAttribute("name","张思");httpServletRequest.setAttribute("name", "张思");//指定模板视图return "index.html";}