2017-10-06 19 views
0

Velocityテンプレート内にテーブルを作成して、Map<String, List<String>>からデータを取得したいとします。私は入れ子にしたforeachループで試しましたが、何らかの理由でそれが機能しませんでした(データがあっても空のテーブル)。前述したように、私のモデルVelocityテーブルからMap <String、List <String>>

model.put("downloaded", holder.getDownloadedFiles()); 

これにデータを追加する

は、マップが追加されます。

私のテンプレート:今のところ

<table > 
<tr> 
    <th style="width:150px">Subsystem</th> 
    <th style="width:500px">Filename</th> 
</tr> 

#foreach($system in $downloaded.keySet) 
#foreach($file in ${downloaded.get($system)}) 
    <tr> 
    #if($foreach.count == 1) ##do only once 
     <td rowspan=$downloaded.get($system).size()>$system</td> 
    #end 
     <td>$file</td> 
    </tr> 

#end 
#end 
</table> 

私はこの(キーは複数の列の上に1つのセルでなければなりません)のようなテーブル持って、幸せになる:

key value1 
     value2 
     value3 
     value4 
key2 value1 
     value2 
     value3 
     value4 

を私は変数にアクセスください。正しい方法を呼んでいますか?代わりに、外側のループのための

#foreach($system in $downloaded.keySet) 

+0

使用する必要がありますか? –

+0

@MauricePerry空のテーブルですが、マップが埋め込まれています – XtremeBaumer

+0

"アップロード済み"と定義されていて、 "ダウンロード済"と定義されています –

答えて

1

あなたは何を得ている

#foreach($system in $downloaded.keySet()) 
関連する問題