【发布时间】:2016-01-25 09:44:53
【问题描述】:
有多种方法可以从一个组件获取数据并填充到另一个组件。通过 SlingServlet 等。
但是,哪种方式是开销较小的最佳方式。
【问题讨论】:
标签: content-management-system aem
有多种方法可以从一个组件获取数据并填充到另一个组件。通过 SlingServlet 等。
但是,哪种方式是开销较小的最佳方式。
【问题讨论】:
标签: content-management-system aem
如果您知道基于当前资源的一个所需资源的相对路径,您可以简单地使用 ResourceResolver 获取您需要的资源并获取它的 ValueMap 以从中获取您需要的任何属性:
Resource targetResource= resourceResolver.get('../relative/path');
ValueMap props= targetResource.getValueMap();
String name= props.get("jcr:title",String.class);
如果您使用的是 Sling 模型,这可能特别简单,因为您可以直接将资源作为 ValueMap 注入,see this
如果您不知道资源的路径,您可以通过查询来查找它,或者在前端使用 Javascript 进行查找。
【讨论】:
您可以使用Sightly Templates 概念将参数从一个组件传递到另一个组件。
另一种解决方案是:组件1在请求对象中设置值,组件2从请求中读取值并从请求中删除值。
【讨论】: