Heim  >  Artikel  >  Java  >  Detaillierte Erläuterung der Thymeleaf- und FreeMarker-Vorlagen-Engines für die Webentwicklung der Spring Boot-Serie

Detaillierte Erläuterung der Thymeleaf- und FreeMarker-Vorlagen-Engines für die Webentwicklung der Spring Boot-Serie

黄舟
黄舟Original
2018-05-11 14:45:106263Durchsuche

In den vorherigen Artikeln wurde eine gute RESTful-API vorgestellt, die JSON-Daten zurückgibt. Als Nächstes stellen wir vor, wie die verarbeiteten Daten auf der Seite gerendert werden.

Spring Boot verwendet Template-Engines

Spring Boot empfiehlt die Verwendung von Template-Engines wie Thymeleaf, FreeMarker, Velocity, Groovy und Moustache. Die Verwendung von JSP wird nicht empfohlen.

Spring Boot bietet gute Standardkonfigurationen für die oben genannten Engines. Das Standardverzeichnis src/main/resources/templates ist der Konfigurationspfad der oben genannten Template-Engines.

1. Thymeleaf-Vorlagen-Engine, die in Spring Boot verwendet wird

Einführung: Thymeleaf ist eine Vorlagen-Engine ähnlich wie Velocity und FreeMarker, die für die Anwendungsentwicklung in Web- und Nicht-Web-Umgebungen verwendet werden kann kann vollständig durch JSP ersetzt werden.

1. Abhängigkeiten zu pom.xml hinzufügen

<!-- thymeleaf 模板引擎-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

2. Schreiben Sie den HTML-Code, wobei th:text="${ name }" ist die Syntax von Thymeleaf. Einzelheiten finden Sie im offiziellen Dokument von Thymeleaf

/**
 * @author sam
 * @since 2017/7/16
 */
@Controller
public class HomeController {

    @RequestMapping("/home")
    public String home(ModelMap modelMap) {

        modelMap.put("name", "Magical Sam");

        List<String> list = new ArrayList<>();
        list.add("sam a");
        list.add("sam b");
        list.add("sam c");
        list.add("sam d");
        modelMap.put("list", list);

        return "home";
    }

}

Starten Sie die Anwendung und besuchen Sie: http://localhost:8080/home, um die entsprechenden Ergebnisse zu erhalten.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8"/>
    <title>Home</title>
</head>
<body>
    <span th:text="${name}"></span>
    <ul>
        <li th:each="item : ${list}" th:text="${item}"></li>
    </ul>
</body>
</html>
Wenn Sie die Standardkonfiguration von thymeleaf ändern müssen, können Sie application.properties hinzufügen:

2. Verwendung der FreeMarker-Vorlagen-Engine in Spring Boot

# ================================================
#                   Thymeleaf配置
# ================================================
# 是否启用thymeleaf模板解析
spring.thymeleaf.enabled=true
# 是否开启模板缓存(建议:开发环境下设置为false,生产环境设置为true)
spring.thymeleaf.cache=false 
# Check that the templates location exists.
spring.thymeleaf.check-template-location=true 
# 模板的媒体类型设置,默认为text/html
spring.thymeleaf.content-type=text/html
# 模板的编码设置,默认UTF-8
spring.thymeleaf.encoding=UTF-8
# 设置可以被解析的视图,以逗号,分隔
#spring.thymeleaf.view-names=
# 排除不需要被解析视图,以逗号,分隔
#spring.thymeleaf.excluded-view-names=
# 模板模式设置,默认为HTML5
#spring.thymeleaf.mode=HTML5 
# 前缀设置,SpringBoot默认模板放置在classpath:/template/目录下
spring.thymeleaf.prefix=classpath:/templates/ 
# 后缀设置,默认为.html
spring.thymeleaf.suffix=.html
# 模板在模板链中被解析的顺序
#spring.thymeleaf.template-resolver-order=
1. pom. xml Abhängigkeiten hinzufügen

2. Controller schreiben

<!-- freemarker 模板引擎 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

3. Erstellen Sie eine neue home.ftl-Datei unter Vorlagen und schreiben Sie bitte HTML-Code Weitere Informationen finden Sie in der offiziellen FreeMarker-Dokumentation

同上。
home.ftl

Starten Sie die Anwendung und besuchen Sie: http://localhost:8080/home, um die entsprechenden Ergebnisse zu erhalten.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <span>${name}</span>
    <ul>
    <#list list as item >
        <li>${item}</li>
    </#list>
    </ul>
</body>
</html>
Wenn Sie die Standardkonfiguration von Freemarker ändern müssen, können Sie application.properties hinzufügen:

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Thymeleaf- und FreeMarker-Vorlagen-Engines für die Webentwicklung der Spring Boot-Serie. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn