メニューツリーを形成するデータ

文字列のSQLは= "?s.step_typeの昇順で= s.step_dept_idため事前s.step_idで接続= s.step_idとSTS_MALFUNC_SOLUTION sの最初から選択します*";

これは、現在のノード(のクエリである  s.step_id = (現在のノードを含む)すべての子孫ノードの)と昇順にソート。

// 菜单树的数据结构
パブリック クラスGoJsData {
     プライベート整数ID。
    プライベート文字列のテキスト。
    プライベート整数サイズ。
    プライベート文字列の色。
    プライベート文字列の重み。
    プライベートリスト<GoJsData> =原因新しいのArrayList <GoJsData> (); //子节点集合
    
    公共 GoJsData(整数ID、文字列、テキスト、整数サイズ、文字色、文字列重み、リスト<GoJsData> 原因){
         スーパー()。
        この .ID = ID。
        このは.text = テキスト。
        この.size = サイズ。
        この .color = 色。
        この .weight = 重量;
        これは = .causes 原因。
    } 
    
    
    パブリックGoJsData(){
         スーパー()。
    } 
}

具体的には、以下のように:

@Test
     公共 ボイド含有量()スローにIOException {
         // 1。查询数据STEP_ID:当前节点ID; STEP_DEPT_ID:父节点ID 
        文字列のsql = "?s.step_idとSTS_MALFUNC_SOLUTIONの開始から= s.step_typeの昇順で前s.step_id = s.step_dept_id順で接続*選択" ; 
        リスト <地図<文字列、オブジェクトリスト>> = baseDao.queryForList(SQL、新しいオブジェクト[] { "11000" })。
        
        // 2。剥离当前节点、创建根数据    
        GoJsData G = NULL ;        
        (MAP <文字列、OBJECT> マップ:リスト){ 
            文字列pstepId = String.valueOf(map.get( "STEP_DEPT_ID"));
            もし(Integer.valueOf(pstepId)== 1 ){ 
                G = 新しい GoJsData(Integer.valueOf(String.valueOf(map.get( "STEP_ID" )))、   
                        String.valueOf(map.get( "STEP_CONTENT")) 、18、 "赤"、 "太字"、   新規のArrayList <GoJsData> ()); 
                list.remove(マップ)
                破ります; 
            } 
        } 
        // 3。递归形成最终树数据
        DD(リスト、G)。
        System.out.println(JSONObject.toJSONString(G))。
    } 
    // 递归操作
    パブリック GoJsDataのDD(一覧<地図<文字列、オブジェクト>>リスト、{GoJsData G)    
         のための(MAP <文字列、OBJECT> マップ:リスト){
             int型 pstepId = Integer.valueOf(String.valueOf(map.get( "STEP_DEPT_ID" )))。
            System.out.println(pstepId)。
            もし(g.getId()== pstepId){ 
                GoJsData GJ = 新しい GoJsData(Integer.valueOf(String.valueOf(map.get( "STEP_ID" )))、   
                        String.valueOf(map.get( "STEP_CONTENT")) 、14、 "赤"、 "太字"、   新規のArrayList <GoJsData> ()); 
                g.getCauses()(GJ)を追加します。                    
                DD(リスト、GJ)。
        }        
        リターングラム。    
    }

 

おすすめ

転載: www.cnblogs.com/wdp1990/p/11364379.html
おすすめ