我有一个Object
带有一个字符串向量作为它在ftl中的一个属性。我不得不使用if
条件和输入specfic块只有当载体含有如何在freemarker中遍历一个向量?
我曾尝试使用类似
<#if (aObject.bVector.contains(dVariable))>
条件的一些动态变量(在FTL可用),但这给出了一个无效的参考异常。 bVector
在java层中填充数据,但我不确定此方法是否可以使用。
我有一个Object
带有一个字符串向量作为它在ftl中的一个属性。我不得不使用if
条件和输入specfic块只有当载体含有如何在freemarker中遍历一个向量?
我曾尝试使用类似
<#if (aObject.bVector.contains(dVariable))>
条件的一些动态变量(在FTL可用),但这给出了一个无效的参考异常。 bVector
在java层中填充数据,但我不确定此方法是否可以使用。
您可以使用
<#if aObject.bVector?seq_contains('value')>
注比freemarker的不能直接访问的成员:你需要有公共存取。
aObject类也需要标记为公共。
编辑:确保aObject.bVector不为空。
它应该像这样<#if aObject.bVector?seq_contains(dVariable?string)></#if>
我尝试使用上面,但我得到的堆栈跟踪相同的异常 freemarker.core.InvalidReferenceException:在表达aObject.bVector上线138不确定,列23改造/存款/ lastUsedOptions.ftl。 –
你能否发布你的aObject类定义? – Nicolas
public class aObject implements SQLDataType {0}私有字符串abc; private String def; public矢量 bVector; } public Vector getbVector() { return this.bVector; } public void setbVector(Vector bVector)this.bVector = bVector; } **和其他获取和设置器 –