在我們的開發中,很多時候在顯示乙個具有層級結構的下拉框,效果如下:
/*** 輔助分類生成樹狀結構列表的工具類,名稱根據層級加字首
*/public class models2treeutil
/*** @title: walkcategorytreelist
* @description:遍歷分類樹,把遍歷出的分類資訊放到指定的集合中
* @param topcategories
* @param string
* @param list
*/private static final void walkcategorytreelist(listtopcategories, string prefix, listlist)
}/**
* @title: findorgs2treewithlevel
* @description:根據層數返回樹形的機構
* @param toporgs
* @param i
* @return list
*/public static listfindorgs2treewithlevel(listtoporgs, int level)
return result;
}/**
* // 該方法只適合資料量比較小的情況,資料量大的時候可能出現記憶體溢位的情況
* * @title: walkorgtreelistwithlevel
* @description:根據頂層機構返回
* @param toporgs
* @param prefix
* @param list
*/private static void walkorgtreelistwithlevel(listtoporgs, string prefix, listlist,
int level)
for(organization top : toporgs)}}
更進一步的是在兩個地方優化了:快取支援,最大層級限制。
快取支援需要在jfinal的外掛程式中配置快取外掛程式,getchildren()還是按照普通的方式獲取子的即可。
// ecache快取外掛程式配置
ehcacheplugin ehplugin = new ehcacheplugin(
this.getclass().getresource("/").getpath().replacefirst("/", "") + "ehcache-shiro.xml");
me.add(ehplugin);
public listgetchildren()
通過乙個int的level引數即可簡單滴實現最大層級限制!在使用的時候都需要傳入乙個top列表,這個表示最上層,然後通過level控制往下的深度。當然,你在呼叫的時候傳入第二層的,level=2,那就返回2,3這兩層的資料。
乙個網頁的形成過程
乙個網頁從我們輸入 到開啟經歷了以下步驟。dns 網域名稱系統 domain name system 由解析器和網域名稱伺服器組成,網域名稱伺服器儲存著該網路中所有主機的網域名稱和對應的ip位址,網域名稱有唯一對應的ip位址,但是ip位址不一定對應乙個網域名稱,我們就是根據dns來上網的。過程簡述 ...
乙個用 vue 寫的樹層級元件 vue ztree
最近看了大神的關於vue ztree的部落格,感覺很讚,於是摘抄下來,方便自己學習,機智girl,哈哈哈o o 最近由於後台管理專案的需要,頁面需要製作乙個無限樹的需求,我第一感就想到了外掛程式 ztree,不過我覺得它太大了,還是自己動手豐衣足食吧。我拿來了 ztree的樣式庫,自己動手寫的演算法...
構建乙個模組的層級包
檔案 init py的目的是要包含不同執行級別的包的可選的初始化 舉個例子,如果你執行了語句import graphics,檔案graphics init py將被匯入,建立graphics 命名空間 的內容。像import graphics.format.jpg這樣匯入,檔案graphics in...