我必须使用我创建的吊索服务,例如
@Component
@Service
public class SearchServiceImpl implements SearchService {
public SearchResults search() {
SearchResults results = new SearchResults();
.....
return results;
}
}
现在我想在没有使用javascript的情况下调用此服务,因为有些用户在访问我的服务时可能不会使用javascript。我该如何称呼此服务?
答案 0 :(得分:2)
您可以使用API。这需要提供实现WCMUse接口的搜索组件类。
NMSEs =
1.0000
Error using bsxfun
Non-singleton dimensions of the two input arrays must match each other.
Error in gsubtract>calc_general (line 40)
c = bsxfun(@minus,a,b);
Error in gsubtract>calc_cell (line 60)
for i=1:numel(a), c{i} = calc_general(a{i},b); end
Error in gsubtract (line 24)
c = calc_cell(a,b);
搜索组件使用您的服务获取实际结果,并将数据模型提供给明亮的模板。
...
import com.adobe.cq.sightly.WCMUse;
public class Search extends WCMUse {
@Reference
private SearchService searchService
public SearchResults listResults(){
...
官方文档对实现我们的目标非常有帮助。 https://docs.adobe.com/docs/en/aem/6-1/develop/sightly/use-api-in-java.html了解详情
答案 1 :(得分:2)
BEGIN
DECLARE rs1 CURSOR WITH RETURN TO CLIENT FOR
select * from db2inst1.test2;
update test2 set a=a+1 where a>ids;
OPEN rs1;
END
不能正常工作。你必须在这里使用sling脚本助手类。
请看下面的代码:
@Reference
答案 2 :(得分:1)
由于您提到了Sling而不是AEM,因此您可以使用data-sly-use
直接获取对服务的引用。看看https://issues.apache.org/jira/browse/SLING-4554。
这将在AEM 6.2中提供。
答案 3 :(得分:1)
在AEM 6.2中,只需将服务放入HTL代码即可实现此目的:
<p data-sly-use.search="com.your.package.SearchServiceImpl">
${search.results}
</p>
&#13;
答案 4 :(得分:0)
最佳答案是按照AEM 6.2在WCMUSEPOJO类中使用getSlingScriptHelper()。getService()
以下链接足以以更好的方式解释它。
http://adobeaemclub.com/access-osgi-ser%C2%ADvice-from-the-wcmuse-class-in-sightly/