濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > thymeleaf實(shí)現(xiàn)th:each雙重多重嵌套功能

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

熱門(mén)標(biāo)簽:怎么去掉地圖標(biāo)注文字 合肥阿里辦理400電話(huà)號(hào) 海南人工外呼系統(tǒng)哪家好 地圖標(biāo)注資源分享注冊(cè) 慶陽(yáng)外呼系統(tǒng)定制開(kāi)發(fā) 廊坊地圖標(biāo)注申請(qǐng)入口 襄陽(yáng)外呼增值業(yè)務(wù)線路解決方案 北京外呼系統(tǒng)咨詢(xún)電話(huà) 高德地圖標(biāo)注公司位置需要錢(qián)嗎

博主最近在做一個(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 ListCate2> 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)用戶(hù)在瀏覽器上輸入: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)
 ListCateVO> allCateList = new ArrayListCateVO>();
 // 1.1.一級(jí)分類(lèi)
 CateVO cateVO1 = new CateVO();
 cateVO1.setCate1Id(1);
 cateVO1.setCate1Name("大數(shù)據(jù)");
 
 // 1.2.該一級(jí)分類(lèi)下的二級(jí)分類(lèi)列表
 ListCate2> cate2_1List = new ArrayListCate2>();
 
 // 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è)的話(huà)以此類(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)注明出處,謝謝!

您可能感興趣的文章:
  • springboot+thymeleaf+druid+mybatis 多模塊實(shí)現(xiàn)用戶(hù)登錄功能
  • Spring boot+mybatis+thymeleaf 實(shí)現(xiàn)登錄注冊(cè)增刪改查功能的示例代碼
  • Spring boot2+jpa+thymeleaf實(shí)現(xiàn)增刪改查
  • Thymeleaf對(duì)象的使用之基本對(duì)象實(shí)例解析
  • SpringBoot使用thymeleaf模板過(guò)程解析
  • Spring Boot Thymeleaf實(shí)現(xiàn)國(guó)際化的方法詳解
  • SpringBoot引入Thymeleaf的實(shí)現(xiàn)方法
  • Thymeleaf中th:each及th:if使用方法解析

標(biāo)簽:鶴崗 株洲 商丘 平頂山 臺(tái)州 鎮(zhèn)江 哈密 綿陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《thymeleaf實(shí)現(xiàn)th:each雙重多重嵌套功能》,本文關(guān)鍵詞  thymeleaf,實(shí)現(xiàn),each,雙重,多重,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《thymeleaf實(shí)現(xiàn)th:each雙重多重嵌套功能》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于thymeleaf實(shí)現(xiàn)th:each雙重多重嵌套功能的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    曲水县| 凯里市| 南召县| 苏尼特右旗| 沾益县| 涪陵区| 宜兴市| 法库县| 哈尔滨市| 泰州市| 镇江市| 盱眙县| 恩施市| 靖宇县| 都江堰市| 乐陵市| 巢湖市| 奇台县| 逊克县| 龙游县| 赣榆县| 新巴尔虎右旗| 石嘴山市| 定襄县| 建宁县| 临漳县| 特克斯县| 山阴县| 蒙自县| 石景山区| 谢通门县| 澳门| 黑水县| 稷山县| 寿宁县| 嘉荫县| 平遥县| 绥德县| 青龙| 崇礼县| 巧家县|