轉:http://blog.csdn.net/linxingliang/article/details/52017098
18.1?使用thymeleaf
????
?????整體步驟:
(1)???????在pom.xml中引入thymeleaf;
(2)???????如何關閉thymeleaf緩存
(3)???????編寫模板文件.html
????
SpringBoot默認就是使用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
<!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):
package?com.kfit.test.web;
?
import?Java.util.Map;
?
import?org.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.RequestMapping;
?
/**
?*?模板測試.
?*?@author?Administrator
?*
?*/
@Controller
public?class?TemplateController {
??????
???????/**
?????? ?*?返回html模板.
?????? ?*/
???????@RequestMapping("/helloHtml")
???????public?StringhelloHtml(Map<String,Object>?map){
??????????????map.put("hello","fromTemplateController.helloHtml");
??????????????return?"/helloHtml";
?????? }
??????
}
?
啟動應用,輸入地址:http://127.0.0.1:8080/helloHtml?會輸出:
Hello.v.2
from TemplateController.helloHtml
?
?
Thymeleaf基本知識參考:http://blog.csdn.net/pdw2009/article/details/44700897
?
?
18.2?使用freemarker
使用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-separated?list
#spring.freemarker.view-names=#?whitelist?of?view?names?that?can?be?resolved
?
?com.kfit.test.web.TemplateController:
/**
?????? ?*?返回html模板.
?????? ?*/
???????@RequestMapping("/helloFtl")
???????public?StringhelloFtl(Map<String,Object>?map){
??????????????map.put("hello","fromTemplateController.helloFtl");
??????????????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
Hello.v.2
from TemplateController.helloFtl
?
thymeleaf和freemarker是可以共存的。