整体步骤:
(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= #whitelistofviewnamesthatcanberesolvedcom.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