摘要:一目標(biāo)實(shí)現(xiàn)如圖所示的商品類目的展示二思路第一列都是頂級的列表,紅色的一列展示的是二級列表,最后展示的是葉子節(jié)點(diǎn)。
一.目標(biāo)
實(shí)現(xiàn)如圖所示的商品類目的展示
1.第一列都是頂級的列表,紅色的一列展示的是二級列表,最后展示的是葉子節(jié)點(diǎn)。所以數(shù)據(jù)庫需要一個(gè)parent_id字段,當(dāng)id為0時(shí)表示頂級列表,還需要一個(gè)字段is_parent來判斷是否為父節(jié)點(diǎn)
數(shù)據(jù)格式如下圖(一,二,三級目錄分別標(biāo)出來了)
2.通過jsonp調(diào)用服務(wù)端的數(shù)據(jù)(參考上一篇文章)https://segmentfault.com/a/11...
3.返回值的格式分析:
這里我們通過兩個(gè)pojo來封裝取出的數(shù)據(jù),一個(gè)是對應(yīng)每個(gè)節(jié)點(diǎn)的u n i,另一個(gè)是存放節(jié)點(diǎn)的list集合
public class CatNode { @JsonProperty("u") private String url; @JsonProperty("n") private String name; @JsonProperty("i") private List>item; ...
public class CatResult { private List>data; ...三.代碼實(shí)現(xiàn) 1.service層
@Override public CatResult getItemCatList() { CatResult catResult = new CatResult(); //查詢分類列表 catResult.setData(getCatList(0)); return catResult; } private List> getCatList(long parentId) { //創(chuàng)建查詢條件 TbItemCatExample example = new TbItemCatExample(); Criteria criteria = example.createCriteria(); criteria.andParentIdEqualTo(parentId); //執(zhí)行查詢 List2.controller層list = itemCatMapper.selectByExample(example); //返回值list List resultList = new ArrayList<>(); //向list中添加節(jié)點(diǎn) int count = 0; for (TbItemCat tbItemCat : list) { //判斷是否為父節(jié)點(diǎn) if (tbItemCat.getIsParent()) { CatNode catNode = new CatNode(); if (parentId == 0) { catNode.setName(""+tbItemCat.getName()+""); } else { catNode.setName(tbItemCat.getName()); } catNode.setUrl("/products/"+tbItemCat.getId()+".html"); catNode.setItem(getCatList(tbItemCat.getId())); resultList.add(catNode); count ++; //第一層只取14條記錄 if (parentId == 0 && count >=14) { break; } //如果是葉子節(jié)點(diǎn) } else { resultList.add("/products/"+tbItemCat.getId()+".html|" + tbItemCat.getName()); } } return resultList; }
@Controller public class ItemCatController { @Autowired ItemCatService itemCatService; @RequestMapping("/itemcat/list") @ResponseBody public Object getItemCatList(String callback) { CatResult catResult = itemCatService.getItemCatList(); MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(catResult); mappingJacksonValue.setJsonpFunction(callback); return mappingJacksonValue; } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/69458.html
摘要:是有贊端規(guī)范的實(shí)現(xiàn)版本,提供了一整套基礎(chǔ)的組件以及常用的業(yè)務(wù)組件。目前我們有組件,其中包括以及等實(shí)用的業(yè)務(wù)組件。一套有贊設(shè)計(jì)師繪制的圖標(biāo)庫。為了解決這些問題,提供了一套自己的時(shí)間選擇組件,包括日期選擇周選擇組件月選擇以及時(shí)間區(qū)間選擇。 Zent ( ?zent ) 是有贊 PC 端 Web UI 規(guī)范的 React 實(shí)現(xiàn)版本,提供了一整套基礎(chǔ)的 UI 組件以及常用的__業(yè)務(wù)組件__。通...
摘要:因?yàn)樗麄兛赡軙?huì)有許多顧客對相同的商品目錄進(jìn)行多次請求。然而,對于我們的參考架構(gòu),我們想完全在中實(shí)現(xiàn)一個(gè)多方面搜索。 本文源地址:http://www.mongoing.com/blog/retail-reference-architecture-part-1 如今,產(chǎn)品目錄數(shù)據(jù)管理對零售商而言是一個(gè)非常復(fù)雜的問題。經(jīng)過多年對多個(gè)龐大、由供應(yīng)商提供的系統(tǒng)的依賴之后,零售商目前正在重新考...
摘要:因?yàn)樗麄兛赡軙?huì)有許多顧客對相同的商品目錄進(jìn)行多次請求。然而,對于我們的參考架構(gòu),我們想完全在中實(shí)現(xiàn)一個(gè)多方面搜索。 本文源地址:http://www.mongoing.com/blog/retail-reference-architecture-part-1 如今,產(chǎn)品目錄數(shù)據(jù)管理對零售商而言是一個(gè)非常復(fù)雜的問題。經(jīng)過多年對多個(gè)龐大、由供應(yīng)商提供的系統(tǒng)的依賴之后,零售商目前正在重新考...
摘要:利用中間件實(shí)現(xiàn)異步請求,實(shí)現(xiàn)兩個(gè)用戶角色實(shí)時(shí)通信。目前還未深入了解的一些概念。往后會(huì)寫更多的前后臺(tái)聯(lián)通的項(xiàng)目。刪除分組會(huì)連同組內(nèi)的所有圖片一起刪除。算是對自己上次用寫后臺(tái)的一個(gè)強(qiáng)化,項(xiàng)目文章在這里。后來一直沒動(dòng),前些日子才把后續(xù)的完善。 歡迎訪問我的個(gè)人網(wǎng)站:http://www.neroht.com/? 剛學(xué)vue和react時(shí),利用業(yè)余時(shí)間寫的關(guān)于這兩個(gè)框架的訓(xùn)練,都相對簡單,有的...
閱讀 1386·2021-11-04 16:11
閱讀 3046·2021-10-12 10:11
閱讀 2980·2021-09-29 09:47
閱讀 1618·2021-09-22 15:40
閱讀 1016·2019-08-29 15:43
閱讀 2807·2019-08-29 13:50
閱讀 1583·2019-08-29 13:28
閱讀 2693·2019-08-29 12:54