繁体   English   中英

如何使用json.ftl在Alfresco中获取关联对象的属性

[英]How to get properties of association object in Alfresco using json.ftl

我有一个abc:appDate类型。 它具有属性abc:dateTime与自身的关联,即,

<association name="abc:nextAppDate">
<title>Next App Date</title>
<source>
    <mandatory>false</mandatory>
    <many>false</many>
</source>
<target>
    <class>abc:appDate</class>
    <mandatory>false</mandatory>
    <many>true</many>
</target>
</association>

如何使用json.ftl获取关联对象的属性?

我试图按以下方式获取关联属性,但得到“在处理模板'Expression result.assocs [\\“ abc:nextAppDate \\”]时发生错误”

<#macro dateFormat date>${date?string("dd MMM yyyy")}</#macro>
    <#escape x as jsonUtils.encodeJSONString(x)>
    {
        "nodeRef": "${result.nodeRef}", 
        "date": "<@dateFormat result.properties["abc:dateTime"] />",
        "nextDate": [
        <#list result.assocs["abc:nextAppDate"] as childKey>
        {
        "date": "<@dateFormat childKey.properties["abc:dateTime"] />"               
        }
        <#if child_has_next>,</#if>
        </#list>
        ]
    }
    </#escape>

实际上,代码需要进行空检查。 以下代码正在工作

<#macro dateFormat date>${date?string("dd MMM yyyy")}</#macro>
    <#escape x as jsonUtils.encodeJSONString(x)>
    {
        "nodeRef": "${result.nodeRef}", 
        "date": "<@dateFormat result.properties["abc:dateTime"] />",
        "nextDate": [
        <#if (result.assocs["abc:nextAppDate"])??>
        <#list result.assocs["abc:nextAppDate"] as childKey>
        {
        "date": "<@dateFormat childKey.properties["abc:dateTime"] />"               
        }
        <#if child_has_next>,</#if>
        </#list>
        <#else>
    </#if>
        ]
    }
    </#escape>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM