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 避免这种情况。