整体步骤:
(1) 在pom.xml中引入thymeleaf;
(2) 如何关闭thymeleaf缓存
(3) 编写模板文件.html
Spring Boot默认就是使用thymeleaf模板引擎的,所以只需要在pom.xml加入依赖即可:
|
1
2
3
4
|
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency> |
Thymeleaf缓存在开发过程中,肯定是不行的,那么就要在开发的时候把缓存关闭,只需要在application.properties进行配置即可:
|
1
2
3
4
5
6
7
8
9
10
11
|
###########################################################THYMELEAF (ThymeleafAutoConfiguration)#########################################################spring.thymeleaf.prefix=classpath:/templates/#spring.thymeleaf.suffix=.html#spring.thymeleaf.mode=HTML5#spring.thymeleaf.encoding=UTF-8# ;charset=<encoding> is added#spring.thymeleaf.content-type=text/html# set to false for hot refreshspring.thymeleaf.cache=false |
编写模板文件src/main/resouces/templates/helloHtml.html
|
1
2
3
4
5
6
7
8
9
10
11
|
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"> <head> <title>Hello World!</title> </head> <body> <h1 th:inline="text">Hello.v.2</h1> <p th:text="${hello}"></p> </body></html> |
编写访问路径(com.kfit.test.web.TemplateController):
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
package com.kfit.test.web; import java.util.Map; import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping; /** * 模板测试. * @author Administrator * */@Controllerpublicclass TemplateController { /** * 返回html模板. */ @RequestMapping("/helloHtml") public String helloHtml(Map<String,Object> map){ map.put("hello","from TemplateController.helloHtml"); return"/helloHtml"; } } |
启动应用,输入地址:http://127.0.0.1:8080/helloHtml 会输出:
|
1
2
|
Hello.v.2from TemplateController.helloHtml |
使用freemarker
使用freemarker也很简单,
在pom.xml加入freemarker的依赖:
|
1
2
3
4
|
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId></dependency> |
剩下的编码部分都是一样的,说下application.properties文件:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
###########################################################FREEMARKER (FreeMarkerAutoConfiguration)########################################################spring.freemarker.allow-request-override=falsespring.freemarker.cache=truespring.freemarker.check-template-location=truespring.freemarker.charset=UTF-8spring.freemarker.content-type=text/htmlspring.freemarker.expose-request-attributes=falsespring.freemarker.expose-session-attributes=falsespring.freemarker.expose-spring-macro-helpers=false#spring.freemarker.prefix=#spring.freemarker.request-context-attribute=#spring.freemarker.settings.*=#spring.freemarker.suffix=.ftl#spring.freemarker.template-loader-path=classpath:/templates/#comma-separatedlist#spring.freemarker.view-names= #whitelistofviewnamesthatcanberesolved |
com.kfit.test.web.TemplateController:
|
1
2
3
4
5
6
7
8
|
/** * 返回html模板. */ @RequestMapping("/helloFtl") public String helloFtl(Map<String,Object> map){ map.put("hello","from TemplateController.helloFtl"); return"/helloFtl"; } |
src/main/resouces/templates/helloFtl.ftl
|
1
2
3
4
5
6
7
8
9
10
11
|
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"> <head> <title>Hello World!</title> </head> <body> <h1>Hello.v.2</h1> <p>${hello}</p> </body></html> |
访问地址:http://127.0.0.1:8080/helloFtl
|
1
2
|
Hello.v.2from TemplateController.helloFtl |
本文介绍如何在SpringBoot项目中配置Thymeleaf和Freemarker两种模板引擎,并实现页面热更新,包括依赖引入、配置文件调整及控制器编写。
2707

被折叠的 条评论
为什么被折叠?



