Your Issue is you are not calling the method (defined in the Sling Model Java class) that returns the List. Assume we have this method - which returns a collection:
public
List<Columns> getCol() {
return
col;
}
To invoke it from HTL - we use: (the method is called by dropping get and simply the name of the remaining part of the getter method - in the case "col")
<div class="row">
<div data-sly-list="${colControl.col}" data-sly-unwrap>
<div data-sly-attribute="${item.clssAttr1}">
<div data-sly-resource="${@ path='par_0', resourceType='foundation/components/parsys'}" data-sly-unwrap></div>
</div>
<div data-sly-attribute="${item.clssAttr2}">
<div data-sly-resource="${@ path='par_1', resourceType='foundation/components/parsys'}" data-sly-unwrap></div>
</div>
</div>
</div>
See this AEM Community Article to learn how to work with Collections (List) and HTL so the data in the Collection is rendered in the component.
Creating a custom Touch UI Grid Component for Adobe Experience Manager
Hope this helps...