2017-10-14 2 views
0

私はapacheの速度が新しいです。リストオブジェクトからサブリストオブジェクトを作成したいのですが、これは.vmファイルのサービス呼び出しから来ています。リスト<Object>からサブリストを作成する方法apache速度テンプレート.vm

リストからサブリストを作成するために、ロジックを部分的に基づいてレンダリングする必要があります。

$ table.getBooks()// Booksオブジェクトがすべて含まれています 以下は試したサンプルコードですが、動作しませんでした。

#set($segregatedList = []) 
#set($size = $table.getLineItems().size()) 
#foreach($index in [0..$size-1]) 
#set($value = $index + 4) 
#set($minimum = $math.min($nItems,$value)) 
$segregatedList.add($table.getBooks().subList($index,$minimum))) 
$index += 4 
#end 

レンダリング中に$ segregatedListがnullになるとコードを実行しました。 私は$ table.getBooks()がオブジェクトを含んでいることを確認しました。これを渡しているときに、オブジェクトはレンダリングに成功しています。 誰かが私が間違っていることを教えてもらえますか、どのようにしてサブリストを作成できますか?

答えて

0

まずあなたは4で増分インデックスされているとはIndexOutOfBoundsExceptionを引き起こすので、size-5までに変更(したがって、数学最小のチェックを外す)する必要がありますすることができます

第二に、あなたは、単一の要素を追加する代わりにaddAll

を使用して、すべての要素であり、

第三に、間違ったパラメータであれば、あなたのサイズチェックが - 関連$table.getBooks()

そして最後に、あなたのリストには、以上の5つの要素

を持っていることを確認するにする必要があります10
#set($segregatedList = []) 
#set($size = $table.getBooks().size()) 
#foreach($index in [0..$size-5]) 
#set($value = $index + 4)  
$segregatedList.addAll($table.getBooks().subList($index, $value))) 
$index += 4 
#end 
関連する問題