(三)SpringBoot——模板引擎thymeleaf

1、SpringBoot支持的模板引擎html

一、Thymeleaf(官方推薦)java

二、FreeMarkerweb

三、Groovyspring

四、mustache後端

 

SpringBoot爲何不推薦使用JSP呢?緩存

一、JSP對頁面的侵入性較強。app

二、web容器版本的的管理問題。spring-boot

 

2、關於thymeleaf測試

作到了先後端的完美分離ui

 

3、實現MVC

不一樣的包存放的文件以下圖所示:

一、引入依賴

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

二、編寫controller

/*
 * Copyright (c) 2018 solidwang. All Rights Reserved
 */
package com.solid4j.controller;

import com.solid4j.bean.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.ArrayList;
import java.util.List;

/**
 * @author: solidwang
 * @date:2018/4/19 上午10:35
 */
@Controller
@RequestMapping("/thymeleaf")
public class ThymeleafController {

    @RequestMapping("")
    public ModelAndView index(){
        List<User> userList = new ArrayList<User>();
        User user1 = new User("solidwang", "solidwang@126.com");
        User user2 = new User("jobs", "jobs@me.com");
        userList.add(user1);
        userList.add(user2);

        ModelAndView modelAndView = new ModelAndView("/index");
        modelAndView.addObject("userList", userList);
        return modelAndView;
    }
}

三、模板文件(index.html)

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>learn Resources</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>

<div>
    <h1>Thymeleaf測試</h1>
    <table border="1" cellspacing="1" cellpadding="0">
        <tr>
            <td>姓名</td>
            <td>passport</td>
        </tr>
        <tr th:each="user : ${userList}">
            <td th:text="${user.username}">solidwang</td>
            <td th:text="${user.passport}">solidwang@me.com</td>
        </tr>
    </table>
</div>
</body>
</html>

四、測試結果以下:

五、注意事項

若是要模板頁面實時刷新,須要配置application.properties文件,spring.thymeleaf.cache=false,若是依然沒有生效,能夠對html文件進行一次編譯便可。

#thymeleaf start
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
#開發時關閉緩存,否則無法看到實時頁面
spring.thymeleaf.cache=false
#thymeleaf end
相關文章
相關標籤/搜索