使用thymeleaf步驟:
(1) 在pom.xml中引入thymeleaf;
(2) 如何關閉thymeleaf緩存
(3)編寫模板文件.html
Spring Boot默認就是使用thymeleaf模板引擎的,所以只需要在pom.xml加入依賴即可:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
Thymeleaf緩存在開發過程中,肯定是不行的,那麼就要在開發的時候把緩存關閉,只需要在application.properties進行配置即可:
########################################################
###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
注意,spring boot 默認模板文件放置在 src/main/resouces下的templates中,自動掃描,如放在其他地方需要進行其他配置,在此略過
<!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.mxh.web.controller.TemplateController
package com.mxh.web.controller;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* 模板測試.
* @author Administrator
*/
@Controller
public class TemplateController {
/**
* 返回html模板.
*/
@RequestMapping("/helloHtml")
public String helloHtml(Map<String,Object> map){
map.put("hello", "a html test");
return "/helloHtml";
}
}
啓動應用,輸入地址:http://127.0.0.1:8080/helloHtml 會輸出:
使用freemarker步驟一樣,就不贅述了。
在pom.xml加入freemarker的依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
剩下的編碼部分都是一樣的,說下application.properties文件:
########################################################
###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.mxh.web.controller.TemplateController中
/**
* 返回ftl模板.
*/
@RequestMapping("/helloFtl")
public String helloFtl(Map<String,Object> map){
map.put("hello", "a ftl test");
return "/helloFtl";
}
src/main/resouces/templates/helloFtl.ftl
<!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
可以看到
從這裏也可以看出,thymeleaf和freemarker是可以共存的。