Springboot (5) template engine

1.thymeleaf

(1) Introduce thymeleaf in pom.xml;

  <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>

(2) How to turn off the thymeleaf cache

########################################################
###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

(3) Write a template file.html

Write the template file src/main/resouces/templates/hello.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>
<p th:text="${hello}"></p>
</body>
</html>  

(4) Write access template file controller

@Controller public class TemplateController {

  @RequestMapping("/helloHtml")

   public String helloHtml(Map<String,Object> map){

    map.put("hello","from TemplateController.helloHtml");

    return "hello"; } }//Return template page name

2.freemarker

(1) Introduce freemarker in pom.xml;

  <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency>

(2) How to turn off the freemarker cache

########################################################
###FREEMARKER (FreeMarkerAutoConfiguration)
########################################################
spring.freemarker.allow-request-override=false
spring.freemarker.cache=false
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

(3) Write the template file .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>
<p>${hello}</p>
</body>
</html>

(4) Write a controller that accesses the file

@RequestMapping("/helloFtl")

public String helloFtl(Map<String,Object> map){

  map.put("hello","from TemplateController.helloFtl");

  return "hello"; }//ftl page name

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324499167&siteId=291194637
Recommended