Freemarker读取动态属性

时间:2014-03-05 12:48:49

标签: dynamic freemarker

我有一个变量'后缀列表,例如:“mono”,“uni”,“kid”

这些应附加到变量名称(bike_)并使用,例如:

${item.bike_mono!}
${item.bike_uni!}
${item.bike_kid!}

我尝试使用freemarker's interpret built-in,但没有成功。

1 个答案:

答案 0 :(得分:4)

您可以使用方括号来访问它们。所以,如果您的对象看起来像这样

Map<String, String> item = new HashMap<>();
item.put("bike_mono", "Mono");
item.put("bike_uni", "Uni");
item.put("bike_kid", "Kid");
model.addAttribute("item", item);

您的模板可以像这样访问

<#assign suffixes=["mono", "uni", "kid"]>
<#assign prefix="bike_">
<#list suffixes as suffix>
    ${item[prefix+suffix]!}
</#list>