如何在FTL(Freemarker)中访问列表列表

时间:2018-09-17 04:49:34

标签: java jsp freemarker

我正在尝试访问一个对象,该对象在我的ftl文件中具有字符串,列表和映射类型的字段。

Configuration configuration = prepareConfiguration();
configuration.setClassForTemplateLoading(this.getClass(), "/");
Map<String, Object> mapVal = new HashMap<String, Object>();
mapVal.put("package", packageListing);
Template template = configuration.getTemplate("listing/listing.ftl");
StringWriter stringWriter = new StringWriter();
template.process(mapVal, stringWriter);
String string = stringWriter.toString();

这是我的代码段。我有一个类型为

的字段
Map<String, ArrayList<ArrayList<Object>>>

在我的packageListing对象中。我正在尝试访问对象列表。 Java中的Map.get(Key).get(index)之类的东西。

1 个答案:

答案 0 :(得分:0)

在Freemarker getting a value from a map or array中,使用方括号相同:

 packageListing[key][index]
  

从序列中检索数据   这与散列相同,但是您只能使用方括号语法,并且括号中的表达式必须计算为数字,而不是字符串。例如,要获取示例数据模型中第一个动物的名称(请记住,第一个动物的编号是0,而不是1):animals [0] .name