SpringBoot集成Thymeleaf

作者: dalaoyang | 来源:发表于2018-03-15 09:34 被阅读154次

    上一篇给大家介绍了springboot整合freemarker,这一片来继续为大家介绍一种模板thymeleaf。

    首先在项目中增添thymeleaf依赖spring-boot-starter-thymeleaf
    同时为了解决html严格校验报错的问题,增添依赖nekohtml
    pom文件代码如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.dalaoyang</groupId>
        <artifactId>springboot_thymeleaf</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>jar</packaging>
    
        <name>springboot_thymeleaf</name>
        <description>springboot_thymeleaf</description>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.5.10.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
    
            <dependency>
                <groupId>net.sourceforge.nekohtml</groupId>
                <artifactId>nekohtml</artifactId>
                <version>1.9.15</version>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    
    </project>
    
    

    controller代码大致与freemarker相同,代码如下:

    package com.dalaoyang.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.ModelMap;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    /**
     * @author dalaoyang
     * @Description
     * @project springboot_learn
     * @package com.dalaoyang.controller
     * @email 397600342@qq.com
     * @date 2018/3/14
     */
    @Controller
    public class TestController {
    
        @RequestMapping("/")
        public String testThymeleaf(ModelMap modelMap){
            modelMap.addAttribute("msg", "Hello dalaoyang , this is thymeleaf");
            return "thymeleaf";
        }
    }
    

    application.properties如下:

    ##端口号
    server.port=8888
    
    
    ##去除thymeleaf的html严格校验
    spring.thymeleaf.mode=LEGACYHTML5
    
    #设定thymeleaf文件路径 默认为src/main/resources/templates
    spring.freemarker.template-loader-path=classpath:/templates
    #设定静态文件路径,js,css等
    spring.mvc.static-path-pattern=/static/**
    # 是否开启模板缓存,默认true
    # 建议在开发时关闭缓存,不然没法看到实时页面
    spring.thymeleaf.cache=false
    # 模板编码
    spring.freemarker.charset=UTF-8
    

    html代码如下

    <!DOCTYPE html>
    <!--解决th报错 -->
    <html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="UTF-8">
        <title>thymeleaf</title>
    </head>
    <body>
    <h1 th:text="${msg}"></h1>
    </body>
    </html>
    

    启动项目,访问http://localhost:8888/ 即可看到以下页面,

    image

    源码下载 :大老杨码云

    个人网站:https://dalaoyang.cn

    相关文章

      网友评论

        本文标题:SpringBoot集成Thymeleaf

        本文链接:https://www.haomeiwen.com/subject/phbfqftx.html