Модель Java, которая передается в шаблон бесплатного маркера:
public clazz {
public void methodOne() {
List<InvoiceObject> invoices = new ArrayList<>();
Map<String, String> properties = ImmutableMap.<String, String>builder()
.put("invoiceNumber", invoiceNumber)
.build();
invoices.add(InvoiceObject.builder().properties(properties).build());
// adding model as atribbute and invoiking process method
}
@Data
@Builder
public static class InvoiceObject { // inner class
public Map<String, String> properties;
}
}
Шаблон:
<#list invoices as invoice>
<tr>
<td>${invoice.properties["invoiceNumberBuy"]}<td>
</#list>
В результате:
freemarker.core.InvalidReferenceException: The following has evaluated to null or missing
ОБНОВЛЕНИЕ:
Шаблон должен иметь invoiceNumber
вместо invoiceNumberBuy
. $ {invoice.properties.invoiceNumber}