有没有办法在 AEM 中生成唯一的资源名称?

Is there a way to generate a unique resource name in AEM?

我创建了一个 table 并在 tbody 中添加了一个列表。它将生成许多行。但是,我必须使每一行的 resource name 都是唯一的。对此有什么想法吗?

    <table>
            <thead>
                <tr>
                    <td></td>
                </tr>
            </thead>
            <tbody data-sly-list="${itemCount}">
                <tr>
                    <td>
                        <div data-sly-resource="${'resourceName' @ resourceType='components/content/mycomponent'}"></div>
                    </td>
                </tr>
            </tbody>
        </table>

不确定我明白你打算在那里做什么。您似乎想要生成唯一的合成资源名称。

为此,您可以使用 itemList.countitemList.index 来获得以下值:res1res2 ... 或 res0res1 ... 参见 details in the HTL specification

您可能必须使用 data-sly-set 将数字连接到文本:

        <tbody data-sly-list="${itemCount}">
            <tr>
                <td data-sly-set.resourceName="res${itemList.count}">
                    <div data-sly-resource="${resourceName @ resourceType='components/content/mycomponent'}"></div>
                </td>
            </tr>
        </tbody>