AEM : How to get list of registered sling models using resource type

时间:2018-09-18 19:52:57

标签: aem cq5 sling sling-models

While creating a sling model we can register it through a resource type. Is there any way through which we can get the sling model class name by providing resource type in AEM. For example : if i have a resource type /mysite/component/breadcrumb and sling model is BreadCrumbModel.java . Is there OOTB service through which if i pass the resourceType value and get the class refernece.

Thanks

1 个答案:

答案 0 :(得分:2)

是,从提供的ResourceSlingHttpServletRequest资源中获取。

modelFactory.getModelFromResource(resource)
modelFactory.getModelFromRequest(request)

ModelFactory API Docs

用法示例: 如果SlingScriptHelper被注入您的班级-

Resource resource = resourceResolver.getResource("/mysite/component/breadcrumb");
slingScriptHelper.getService(ModelFactory.class).getModelFromResource(resource);

,或者如果您已经注入ModelFactory并可用,请直接使用它。