我迭代到IColonne对象列表。但是我需要投入到混凝土课程以获得具体的归属。我的列表有“Colonne”和“ColonneGroup”对象。
IColonne界面:
public interface IColonne {
String getFtlName();
int getWidthPx(final int tableSize);
}
Colonne具体课程:
public class Colonne implements IColonne {
....
}
ColonneGroup concret课程:
public class ColonneGroup implements IColonne {
private List<String> texts;
}
我需要访问“文本”attribut。但我“只有”IColonne。所以我需要施放到ColonneGroup。我怎么能这样做?
答案 0 :(得分:0)
我想您需要从FreeMarker模板访问texts
。由于FTL是动态类型的,因此您无需进行转换。如果对象具有公共getTexts()
方法,则只能访问该成员。它有它(并且它也是非空的)你可以测试colonne.texts??
,或者你可以使用!
运算符给它一个默认值。所以它可能是这样的:
<#list colonnes as colonne>
...
<#if colonne.texts??>
Do something with colonne.texts
</#if>
...
<#!-- Or if you would #list the texts anyway: -->
<#list colonne.texts!>
<p>We have some texts here:
<ul>
<#items as text>
<li>${text}</li>
</#items>
</ul>
</#list>
...
</#list>