Works like a charm. List HTL Output:

Java backend (I used WCMUsePojo for this example):
package com.aem.htl.core;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.sling.api.resource.Resource;
import org.osgi.framework.FrameworkUtil;
import org.osgi.framework.ServiceReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.adobe.cq.sightly.WCMUsePojo;
public class HelloService extends WCMUsePojo
{
Logger logger = LoggerFactory.getLogger(HelloService.class);
protected String searchterm;
private List<String> file;
@Override
public void activate()
{
this.searchterm = getProperties().get("search", "").toLowerCase();
}
public List<String> getFiles()
{
//populate the
logger.info("The search term is");
this.file = new ArrayList();
this.file.add("Apple");
this.file.add("Orange");
this.file.add("Peach");
this.file.add("Pear");
return this.file;
}
}
HTL COde that displays the content of the LIST:
AEM LIST HTL Example:
<div data-sly-test="${properties.search}" data-sly-use.v="com.aem.htl.core.HelloService">
<b>Here are the QueryBuilder results that corrresponds to ${properties.search}:</b>
<ul data-sly-list="${v.files}">
<li>${item}</li>
</ul>
</div>