2017-07-18 48 views
1

如何迭代速度模板中的嵌套地圖? 我如何迭代速度模板中的嵌套地圖?

HashMap<String, HashMap<String, HashMap<String, List<MealPlanGroup>>>> termPlans=new HashMap<String, HashMap<String, HashMap<String, List<MealPlanGroup>>>>(); 

這個地圖我在Java中填充數據並呈現爲HTML頁面,但不能html頁面

回答

2

上迭代既然你有那麼可怕變量綁定到termPlans可變模板裏面,你可以做到以下幾點:

#foreach($level1 in $termPlans) 
    <!-- Iterating over the values of the first Map level --> 
    #foreach($level2 in $level1) 
     <!-- Iterating over the values of the second Map level --> 
     #foreach($list in $level2) 
      <!-- Iterating over the values of the third Map level --> 
      #foreach($mealPlanGroup in $list) 
       <!-- Iterating over the values of the List --> 
       $mealPlanGroup.id <br/> 
      #end 
     #end 
    #end 
#end 

這隻會使用地圖值,它會忽略他們的鍵。如果您還需要的按鍵,你可以嘗試遍歷entrySet()

#foreach($level1Entry in $termPlans.entrySet()) 
    <!-- Iterating over the values of the first Map level --> 
    Level 1 key is $level1Entry.getKey() 

    #foreach($level2Entry in $level1Entry.getValue().entrySet()) 
     Level 2 key is $level2Entry.getKey() 

     <!-- Iterating over the values of the second Map level --> 
     #foreach($level3Entry in $level2Entry.getValue().entrySet()) 
      Level 3 key is $level3Entry.getKey() 

      <!-- Iterating over the values of the third Map level --> 
      #foreach($mealPlanGroup in $level3Entry.getValue()) 
       <!-- Iterating over the values of the List --> 
       $mealPlanGroup.id <br/> 
      #end 
     #end 
    #end 
#end 
+0

能否請您提供密鑰和值迭代 –

+0

無法遍歷鍵值對能否請您發送代碼 –

+0

所有'.getKey() '和'.getValue()'getters可以替換爲'.key'和'.value',Velocity會自動調用getter。 –