从轻松的javascript使用功能调用OSGi服务

时间:2015-07-07 09:41:00

标签: cq5 aem rhino sightly

我正在尝试从sightly javascript use function访问OSGi服务。通过吊索SlingScriptHelper。我可以从javascript调用sling.getService(Service.class)方法,但我不知道如何在javascript中指定类。

使用完全限定名称或使用rhino' s importPackage(..)来引用java类看起来像should be possible

但是,我得到以下例外:

org.apache.sling.scripting.sightly.SightlyException:
org.mozilla.javascript.EvaluatorException: Can't find method
org.apache.sling.scripting.core.impl.InternalScriptHelper.getService(object).

1 个答案:

答案 0 :(得分:10)

为此,请将Packages添加到完全限定的类名称,例如

var myService = sling.getService(Packages.com.myco.MyService);

(其中com.myco.MyService是服务接口)

有关示例,请参阅https://github.com/Adobe-Consulting-Services/acs-aem-commons/blob/master/content/src/main/content/jcr_root/apps/acs-commons/sightly/templates/dhlm.js#L23