在AdobeCQ(AEM)中,如何在sightly中使用'data sly list'和'data sly resource'遍历资源列表?

在AdobeCQ(AEM)中,如何在sightly中使用'data sly list'和'data sly resource'遍历资源列表?,aem,sightly,Aem,Sightly,在AEM 6.1中,结构如下: - Page - form node - parsys - node 1 - node 2 - ... - node n 原始表单具有以下代码,可以正常工作 我正在尝试更新在最后一个节点n之前注入内容的表单组件。在表单节点上,我有以下代码: <div data-sly-list.children="${resource.listChildren}"> <div

在AEM 6.1中,结构如下:

 - Page
   - form node
     - parsys
       - node 1
       - node 2
       - ...
       - node n
原始表单具有以下代码,可以正常工作

我正在尝试更新在最后一个
节点n
之前注入内容的表单组件。在表单节点上,我有以下代码:

<div data-sly-list.children="${resource.listChildren}">
    <div data-sly-list.fields="${children.listChildren}">
        <div data-sly-test=${fieldsList.last}> DO SOMETHING BEFORE LAST NODE</div>
        <div data-sly-resource="${fields}"></div>
    </div>
</div>

在最后一个节点之前做一些事情
数据资源
似乎导致服务器挂起,在浏览器等待响应时cpu使用率非常高。我必须终止服务器进程并重新启动它

我尝试了
,但它似乎没有按预期呈现字段

这是迭代节点的正确方法吗


更新:查看massive error.log文件,CPU峰值似乎是由递归TooDeepException的无限循环引起的,我不知道递归在哪里

根据,您需要传入资源的路径,可以是相对路径,也可以是绝对路径。通过将
更改为
,我可以使您的代码正常工作


在最后一个节点之前做一些事情

如果您还没有下载,我强烈建议您测试和调试这样的场景。

我将创建一个Sling模型,并将子节点的数据作为列表返回


查看此链接以获取参考

如果节点包含对自身(或其父节点)的引用,通常会发生这种情况。感谢@awadheshv的回复。我在CRX中看不到包含自身引用的节点。另外,通过添加
@resourceType=fileds.resourceType
它输出输入组件,但没有完全呈现(缺少输入标签等)。你就是那个人!添加“.path”修复了该问题!如果服务器可以在日志中添加更有意义的内容,而不是显示部分工作的页面,那就太好了。谢谢Danil的回答。
<div data-sly-list.children="${resource.listChildren}">
    <div data-sly-list.fields="${children.listChildren}">
        <div data-sly-test=${fieldsList.last}> DO SOMETHING BEFORE LAST NODE</div>
        <div data-sly-resource="${fields.path}"></div>
    </div>
</div>