整体步骤:
(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 refresh
spring.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
*
*/
@Controller
publicclass 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.2
from 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=false
spring.freemarker.cache=true
spring.freemarker.check-template-location=true
spring.freemarker.charset=UTF-8
spring.freemarker.content-type=text/html
spring.freemarker.expose-request-attributes=false
spring.freemarker.expose-session-attributes=false
spring.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.2
from TemplateController.helloFtl
|