SpringBoot使用thymeleaf實(shí)現(xiàn)一個(gè)前端表格方法詳解
1. User 實(shí)體類
注:這里使用了 Lombok 技術(shù),通過 @Data 注釋自動(dòng)創(chuàng)建 get,set 方法;通過 @NoArgsConstructor 注釋自動(dòng)創(chuàng)建無參數(shù)的構(gòu)造方法;通過 @AllArgsConstructor 注釋自動(dòng)創(chuàng)建有參數(shù)構(gòu)造方法
如果不想使用,可以自行創(chuàng)建get,set 方法以及構(gòu)造方法
import jdk.nashorn.internal.objects.annotations.Constructor;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@NoArgsConstructor
@AllArgsConstructor
@Data
public class User {
private String userName;
private String password;
}2. Controller 類
創(chuàng)建一 user 的 list ,使用 addAttribute() 方法將其放入 medol 中,以便前端取出 medol 中的數(shù)據(jù)
注意:thymeleaf解析不能帶 html 后綴,因此轉(zhuǎn)發(fā)到 table下的dynamic_table.html 文件要寫成 return "table/dynamic_table";
package com.wanqing.admin.controller;
import com.wanqing.admin.bean.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import java.util.Arrays;
import java.util.List;
@Controller
public class TableController {
@GetMapping("/dynamic_table")
public String dynamic_table(Model model){
// 表格內(nèi)容的遍歷
List<User> users = Arrays.asList(new User("劉婉晴", "520131"),
new User("加油","aaa"),
new User("不可以放棄","come on"));
model.addAttribute("users", users);
return "table/dynamic_table"; // thymeleaf解析不能帶 html 后綴
}
}3. html 文件
創(chuàng)建 dynamic_table.html 文件在 templates 的 table 文件夾下

得到后端傳入的數(shù)據(jù)的語法為 ${要操作的后端傳入的數(shù)據(jù)}
- 使用
th:each="user:${users}"遍歷得到每個(gè) user。 - 取出每個(gè) user 值放入表格中時(shí) 可以使用
th:text="${user.userName}"也可以使用[[${user.password}]]
注: stats 為自增 id,用于記錄遍歷到第幾個(gè) user,得到數(shù)量的方法為th:text="${stats.count}",用 逗號(hào) 與 user 隔開
<!--body wrapper start-->
<div class="wrapper">
<div class="row">
<div class="col-sm-12">
<section class="panel">
<div class="panel-body">
<div class="adv-table">
<table class="display table table-bordered table-striped" id="dynamic-table">
<thead> <!--標(biāo)頭-->
<tr>
<th>#</th>
<th>用戶名</th>
<th>密碼</th>
</tr>
</thead>
<tbody> <!--標(biāo)體-->
<tr class="gradeX" th:each="user,stats:${users}">
<td th:text="${stats.count}">Trident</td>
<td th:text="${user.userName}">Internet</td>
<td>[[${user.password}]]</td>
</tr>
</tbody>
</table>
</div>
</div>
</section>
</div>
</div>
</div>
<!--body wrapper end-->到此這篇關(guān)于SpringBoot使用thymeleaf實(shí)現(xiàn)一個(gè)前端表格方法詳解的文章就介紹到這了,更多相關(guān)SpringBoot thymeleaf內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java類成員訪問權(quán)限控制知識(shí)總結(jié)
這篇文章主要介紹了Java類成員訪問權(quán)限控制知識(shí)總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
Spring中@order注解用法實(shí)戰(zhàn)教程
@Order注解主要用來控制配置類的加載順序,數(shù)字越小,越先加載,下面這篇文章主要給大家介紹了關(guān)于Spring中@order注解用法的相關(guān)資料,需要的朋友可以參考下2022-11-11
在Java中實(shí)現(xiàn)讓線程按照自己指定的順序執(zhí)行
這篇文章主要介紹了在Java中實(shí)現(xiàn)讓線程按照自己指定的順序執(zhí)行,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
SpringBoot整合MyBatis實(shí)現(xiàn)樂觀鎖和悲觀鎖的示例
這篇文章主要介紹了SpringBoot整合MyBatis實(shí)現(xiàn)樂觀鎖和悲觀鎖的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
JDBC中Statement和Preparement的使用講解
今天小編就為大家分享一篇關(guān)于JDBC中Statement和Preparement的使用講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01
Java如何基于IO流實(shí)現(xiàn)同一文件讀寫操作
這篇文章主要介紹了Java如何基于IO流實(shí)現(xiàn)文件讀寫操作,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
IntelliJ IDEA啟動(dòng)錯(cuò)誤:插件沖突處理的解決方案
在使用 IntelliJ IDEA 進(jìn)行開發(fā)時(shí),我們可能會(huì)遇到各種啟動(dòng)錯(cuò)誤,本文將詳細(xì)介紹一種常見的錯(cuò)誤:插件沖突,并提供解決方案,文中通過圖文和代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2025-02-02
詳解Mybatis內(nèi)的mapper方法為何不能重載
這篇文章主要介紹了詳解Mybatis內(nèi)的mapper方法為何不能重載,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12

