最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

thymeleaf實(shí)現(xiàn)th:each雙重多重嵌套功能

 更新時(shí)間:2019年11月19日 15:15:34   作者:曲健磊  
今天給大家分享一個(gè)使用 thymeleaf 實(shí)現(xiàn)一個(gè)動(dòng)態(tài)加載一二級(jí)文章分類(lèi)的功能,本文通過(guò)代碼講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

博主最近在做一個(gè)個(gè)人的博客網(wǎng)站,準(zhǔn)備用 thymeleaf 實(shí)現(xiàn)一個(gè)動(dòng)態(tài)加載一二級(jí)文章分類(lèi)的功能,效果如下:

后臺(tái)實(shí)體類(lèi)代碼如下:

/**
 * @author 曲健磊
 * @date 2019-08-22 20:28:18
 * @description 一級(jí)分類(lèi)實(shí)體類(lèi)
 */
public class CateVO {
  /**
   * 一級(jí)分類(lèi)id
   */
  private Integer cate1Id;
  /**
   * 一級(jí)分類(lèi)名稱(chēng)
   */
  private String cate1Name;
  /**
   * 該一級(jí)分類(lèi)下的二級(jí)分類(lèi)列表
   */
  private List<Cate2> cate2List;
 // 省略set get方法
}
/**
 * @author 曲健磊
 * @date 2019-08-15 20:18:44
 * @description 二級(jí)分類(lèi)實(shí)體類(lèi)
 */
public class Cate2 {
 /**
   * 二級(jí)分類(lèi)id
   */
  private Integer id;
 /**
   * 二級(jí)分類(lèi)名稱(chēng)
   */
  private String cateName;
}

Controller 層的代碼如下:

@Controller
@RequestMapping("/")
public class IndexController {
  @Autowired
  private CateService cateService;
 /**
 * 我配置的項(xiàng)目端口號(hào)是:80
 * 所以,當(dāng)用戶在瀏覽器上輸入:127.0.0.1:80 或 127.0.0.1 時(shí)請(qǐng)求會(huì)進(jìn)到這個(gè)方法里
 */
  @GetMapping("/")
  public String defaultWebPage(HttpServletRequest request){
    // 1.模擬獲取所有的一級(jí)分類(lèi)以及每個(gè)一級(jí)分類(lèi)下的所有二級(jí)分類(lèi)
 List<CateVO> allCateList = new ArrayList<CateVO>();
 // 1.1.一級(jí)分類(lèi)
 CateVO cateVO1 = new CateVO();
 cateVO1.setCate1Id(1);
 cateVO1.setCate1Name("大數(shù)據(jù)");
 
 // 1.2.該一級(jí)分類(lèi)下的二級(jí)分類(lèi)列表
 List<Cate2> cate2_1List = new ArrayList<Cate2>();
 
 // 1.2.1.第一個(gè)二級(jí)分類(lèi)
 Cate2 cate2_1_1 = new Cate2();
 cate2_1_1.setId(1);
 cate2_1_1.setCateName("Hadoop");
 
 // 1.2.2.第二個(gè)二級(jí)分類(lèi)
 Cate2 cate2_1_2 = new Cate2();
 cate2_1_2.setId(1);
 cate2_1_2.setCateName("Spark");
 
 cate2_1List.add(cate2_1_1);
 cate2_1List.add(cate2_1_2);
 // 1.3.把所有的二級(jí)分類(lèi)添加到該一級(jí)分類(lèi)下
 cateVO1.setCate2List(cate2_1List);
 // 1.4.把所有的一級(jí)分類(lèi)放入列表中,多個(gè)的話以此類(lèi)推(通常都是直接查數(shù)據(jù)庫(kù)的)
 allCateList.add(cateVO1);
 // 2.將一級(jí)分類(lèi)列表放入 request 域中。
    request.setAttribute("cateList", allCateList);
    // 3.返回 index.html 頁(yè)面
    return "index";
  }
}

前臺(tái) html 的代碼如下(簡(jiǎn)化):

<!DOCTYPE HTML>
<!-- thymeleaf的引用 -->
<html xmlns:th="http://www.thymeleaf.org">
<head>
<!-- 引用的css,js -->
</head>
<!-- 頁(yè)面主體 -->
<body>
<ul>
 <!-- 這一級(jí)是一級(jí)的分類(lèi) -->
  <li th:each="cate1:${cateList}"><a th:text="${cate1.cate1Name}"></a>
   <!-- 這是一級(jí)下的二級(jí)分類(lèi)列表 -->
    <ul>
     <li th:each="cate2:${cate1.cate2List}"><a th:text="${cate2.cateName}"></a></li>
    </ul>
  </li>
</ul>
</body>
</html>

博主直接用 java 代碼解釋一下上面的 th:each 那里是什么意思吧:

// cateList 就是我們?cè)?Controller 中向 request 域中設(shè)置的那個(gè)屬性
for (CateVO cate1 : cateList) {
 System.out.println(cate1.cate1Name);
 
 // cate1這個(gè)變量現(xiàn)在就存在于request域中,我們可以直接調(diào)用它的屬性和方法
 for (Cate2 cate2 : cate1.cate2List) {
 System.out.println(cate2.cateName);
 
 // 依次類(lèi)推,如果有三級(jí)分類(lèi)這里繼續(xù)調(diào)用cate2的屬性或方法就可以
 }
}

cate1:${cateList} 這個(gè)寫(xiě)法是固定的格式,冒號(hào)前的 cate1 是新定義的臨時(shí)變量,cateList 是我們?cè)?Controller 中放入 request 域中的變量;在一級(jí)分類(lèi)循環(huán)里面,我們是可以直接獲取剛才定義的臨時(shí)變量:cate1 的。

所以,我們可以繼續(xù) th:each 遍歷該一級(jí)分類(lèi)的二級(jí)分類(lèi)列表,三級(jí)四級(jí)以此類(lèi)推。

總結(jié)

以上所述是小編給大家介紹的thymeleaf實(shí)現(xiàn)th:each雙重多重嵌套功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • 阿里巴巴開(kāi)源 Dragonwell JDK 最新版本 8.1.1-GA 發(fā)布

    阿里巴巴開(kāi)源 Dragonwell JDK 最新版本 8.1.1-GA 發(fā)布

    距離 Dragonwell JDK 第一個(gè)正式版本 8.0.0-GA 發(fā)布已經(jīng)過(guò)去 3 個(gè)月了,項(xiàng)目在 Github 上的 stars 繼續(xù)攀升達(dá)到了 1900。今天我們帶來(lái)了最新版本 8.1.1-GA 的發(fā)布,包含了全新的特性和更新,需要的朋友可以參考下
    2019-10-10
  • DeepSeek本機(jī)部署詳細(xì)步驟(基于Ollama和Docker管理)

    DeepSeek本機(jī)部署詳細(xì)步驟(基于Ollama和Docker管理)

    這篇文章主要介紹了如何利用ollama和docker在本機(jī)部署DeepSeek大語(yǔ)言模型,提供了一種高效、便捷且穩(wěn)定的部署方式,步驟包括硬件和軟件安裝、模型獲取、容器創(chuàng)建和啟動(dòng)等,通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2025-02-02
  • AI經(jīng)典書(shū)單 人工智能入門(mén)該讀哪些書(shū)?

    AI經(jīng)典書(shū)單 人工智能入門(mén)該讀哪些書(shū)?

    學(xué)習(xí)人工智能該讀哪些書(shū)可以快速入門(mén)呢?我的答案是多讀經(jīng)典書(shū)。方向?qū)α思词孤c(diǎn),總會(huì)走向成功的終點(diǎn)。而該讀哪些書(shū),小編推薦五份經(jīng)典書(shū)單
    2017-11-11
  • 科學(xué)知識(shí):理解socket

    科學(xué)知識(shí):理解socket

    這篇文章主要介紹了科學(xué)知識(shí):理解socket,本文試圖用簡(jiǎn)潔的語(yǔ)言說(shuō)清楚socket的相關(guān)知識(shí),以便理解,需要的朋友可以參考下
    2015-05-05
  • IDEA取消git對(duì)項(xiàng)目的版本控制的實(shí)現(xiàn)

    IDEA取消git對(duì)項(xiàng)目的版本控制的實(shí)現(xiàn)

    取消Git版本控制可以簡(jiǎn)化代碼管理流程、減少學(xué)習(xí)成本、簡(jiǎn)化代碼庫(kù)管理、提高代碼安全性、加快構(gòu)建和部署速度,本文主要介紹了IDEA取消git對(duì)項(xiàng)目的版本控制的實(shí)現(xiàn),感興趣的可以了解一下
    2023-11-11
  • 消息交換模式RabbitMQ簡(jiǎn)介

    消息交換模式RabbitMQ簡(jiǎn)介

    這篇文章簡(jiǎn)單介紹了消息交換模式RabbitMQ,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • ToDesk安裝與使用教程(全平臺(tái)支持)

    ToDesk安裝與使用教程(全平臺(tái)支持)

    這篇文章主要介紹了ToDesk安裝與使用教程,ToDesk非常好用而且是全平臺(tái)支持,喜歡的朋友跟隨小編一起看看吧
    2024-08-08
  • MobaXterm詳細(xì)使用圖文教程(MobaXterm連接Linux服務(wù)器)

    MobaXterm詳細(xì)使用圖文教程(MobaXterm連接Linux服務(wù)器)

    這篇文章主要介紹了MobaXterm詳細(xì)使用教程,介紹一下如何設(shè)置并用MobaXterm來(lái)連接Linux服務(wù)器,本文介紹了三種連接方式:SSH,F(xiàn)TP,serial,以及幾個(gè)有用的設(shè)置和命令,需要的朋友可以參考下
    2023-05-05
  • matlab讀取串口數(shù)據(jù)并顯示曲線的實(shí)現(xiàn)示例

    matlab讀取串口數(shù)據(jù)并顯示曲線的實(shí)現(xiàn)示例

    這篇文章主要介紹了matlab讀取串口數(shù)據(jù)并顯示曲線的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • ceph集群RadosGW對(duì)象存儲(chǔ)使用詳解

    ceph集群RadosGW對(duì)象存儲(chǔ)使用詳解

    這篇文章主要為大家介紹了ceph集群RadosGW對(duì)象存儲(chǔ)使用詳解,有需要的,朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04

最新評(píng)論

吐鲁番市| 竹溪县| 华亭县| 江山市| 柘城县| 和田县| 博客| 汕尾市| 甘德县| 吕梁市| 托里县| 琼海市| 南澳县| 吉林省| 平乡县| 永仁县| 尼玛县| 通江县| 抚松县| 台湾省| 上蔡县| 承德县| 通山县| 若羌县| 镇原县| 奉贤区| 邵武市| 雅江县| 惠州市| 岱山县| 安平县| 德格县| 阿拉善左旗| 汉川市| 玉树县| 云霄县| 仁布县| 兴化市| 桂平市| 平安县| 卓尼县|