CQ/AEM - CQ 表单组件中的 'resource' 是什么?

CQ/AEM - What are the 'resource' in a CQ form component?

我正在尝试了解 CQ 表单组件的工作原理。 我看到他们经常使用一个名为 'resource' 的变量。例如,在每个组件的开头,它总是:

final String name = FormsHelper.getParameterName(resource);
final String id = FormsHelper.getFieldId(slingRequest, resource);
final boolean required = FormsHelper.isRequired(resource);

我知道 Sling 将一切都视为资源。但是 'resource' 的这个具体片段到底是什么?它在哪里定义?它从何而来?它包含什么?

资源变量是 org.apache.sling.api.resource.Resource 的一个实现,是一个表示 jcr 存储库中节点实体的对象,但与例如较低级别 javax.jcr.Node 对象。 在这种情况下,提到的资源可能代表组件的资源。

解释为什么 sling 使用术语资源:

资源是 restful API 中的一个基本概念。 资源是具有关联数据、与其他资源的关系以及对其进行操作的方法的类型化对象。

Sling 实际上是 Java 内容存储库之上的 restful 层。 对于 sling 层,存储库是资源的虚拟树。 我强烈建议您阅读官方文档以获取有关此主题的更多详细信息https://sling.apache.org/documentation/the-sling-engine/resources.html