【问题标题】:freemarker looping sequence errorfreemarker循环序列错误
【发布时间】:2023-03-23 15:53:01
【问题描述】:

我正在尝试使用此代码检索数据

<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

&lt;#elseif object[key]?is_sequence&gt; sequence 返回序列。据我了解,这意味着我的 object[key] 是一个序列。 有什么想法吗?

【问题讨论】:

  • 您的示例代码中没有?size?is_sequence

标签: freemarker


【解决方案1】:

出现该错误是因为由于某些历史事故,Java 方法是序列(即内置ObjectWrapper-s),但它们没有实现?size。 (它们是序列,因此foo.m[x] 等同于foo.m(x))。在条件中添加&amp;&amp; !something?is_method 避免这种情况。

【讨论】:

    猜你喜欢
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 2020-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    相关资源
    最近更新 更多