spring boot使用thymeleaf模板配置和freem

xiaoxiao2021-02-28  87

整体步骤:

(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
转载请注明原文地址: https://www.6miu.com/read-71673.html

最新回复(0)