freemarker循环序列错误
freemarker looping sequence error
我正在尝试使用此代码检索数据
<tests>
<#if tests?exists>
<#list tests as object >
<test>
<#list object?keys as key >
<${key}>
<#if object[key]?exists>
<#if object[key]?is_hash> HASH
<#elseif object[key]?is_sequence>
<#list object[key] as hashKey>
</#list>
<#else> ${object[key]}</#if><#else>null
</#if>
</${key}>
</#list>
</test>
</#list>
</#if>
但是出现错误?size is unsupported for: freemarker.ext.beans.SimpleMethodModel
但 <#elseif object[key]?is_sequence> sequence
returns 序列。据我了解,我的 object[key]
是一个序列。
有什么想法吗?
发生该错误是因为由于某些历史事故,Java 方法是序列(具有内置的 ObjectWrapper
-s,即),但它们不实现 ?size
。 (它们是序列,因此 foo.m[x]
等同于 foo.m(x)
)。在条件中添加 && !something?is_method
避免这种情况。
我正在尝试使用此代码检索数据
<tests>
<#if tests?exists>
<#list tests as object >
<test>
<#list object?keys as key >
<${key}>
<#if object[key]?exists>
<#if object[key]?is_hash> HASH
<#elseif object[key]?is_sequence>
<#list object[key] as hashKey>
</#list>
<#else> ${object[key]}</#if><#else>null
</#if>
</${key}>
</#list>
</test>
</#list>
</#if>
但是出现错误?size is unsupported for: freemarker.ext.beans.SimpleMethodModel
但 <#elseif object[key]?is_sequence> sequence
returns 序列。据我了解,我的 object[key]
是一个序列。
有什么想法吗?
发生该错误是因为由于某些历史事故,Java 方法是序列(具有内置的 ObjectWrapper
-s,即),但它们不实现 ?size
。 (它们是序列,因此 foo.m[x]
等同于 foo.m(x)
)。在条件中添加 && !something?is_method
避免这种情况。