Java StringTemplate 遍历复杂对象列表

Java StringTemplate Iterating over List of Complex Object

我有一个 class 像这样:

public class Foo {
    private String s;
}

我有一个上述对象的列表。我希望能够遍历此列表并打印出字符串 属性 s。我有以下代码来呈现字符串模板:

Map<String, Object> params = new HashMap<>();
List<Foo> foos = new ArrayList<>();
foos.add(new Foo("A"));
foos.add(new Foo("B"));
foos.add(new Foo("C"));
params.put("foos", foos);
ST st = new ST("Hello, $data.(\"foos\") : {foo | $foo.s;separator=\", \"$}$", '$', '$');
st.add("data", params);
template = st.render();
System.out.println(template);

但输出只是:

Hello, ABC

如何正确地遍历该列表并以逗号分隔打印出来?

年份分隔符分隔 foo.s 的元素,而不是 foo 的元素。尝试

ST st = new ST("Hello, $data.(\"foos\") : {foo | $foo.s$};separator=\", \"$", '$', '$');