我有Object
一个字符串向量作为 ftl 中的属性之一。只有当向量包含一些动态变量(在 ftl 中可用)时,我才必须使用if
条件并输入特定块
我试图使用像这样的条件
<#if (aObject.bVector.contains(dVariable))>
但这给出了一个无效的引用异常。
bVector
在 java 层中填充了数据,但我不确定是否可以使用此方法。
我有Object
一个字符串向量作为 ftl 中的属性之一。只有当向量包含一些动态变量(在 ftl 中可用)时,我才必须使用if
条件并输入特定块
我试图使用像这样的条件
<#if (aObject.bVector.contains(dVariable))>
但这给出了一个无效的引用异常。
bVector
在 java 层中填充了数据,但我不确定是否可以使用此方法。
您可以使用
<#if aObject.bVector?seq_contains('value')>
请注意,freemarker 不能直接访问成员:您需要有公共访问者。
aObject 类也需要标记为公共的。
资料来源:FreeMarker 手册
编辑:确保 aObject.bVector 不为空。
它应该是这样的<#if aObject.bVector?seq_contains(dVariable?string)></#if>