因此,我有一个Sling servlet,它从另一个API (让我们称之为APIX)读取数据,APIX以JSON格式向我提供数据。
当我调试我的代码时,似乎从APIX得到的响应是完好无损的。
当我将我从APIX获得的JSON传递给浏览器时,我可以看到AEM已经“链接检查”了我在JSON中的所有链接。我不希望AEM对我的数据做任何事情。
基于这个Adobe page,我在我的代码中添加了以下几行:
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException {
LinkCheckerSettings linkCheckerSettings = LinkCheckerSettings.fromRequest(request);
linkCheckerSettings.setIgnoreExternals(true);
//body of the code here
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json;charset=UTF-8");
printWriter.write(jsonResponse);
linkCheckerSettings.setIgnoreExternals(false);
}
没有效果。我仍然可以看到这些字符串
<img src="/libs/cq/linkchecker/resources/linkcheck_o.gif" alt="invalid link: _blank\\" title="invalid link: _blank\\" border="0">
到处都是。
然后我尝试禁用链接检查器(通过configMgr/Day CQ Link Checker Transformer),但仍然没有效果。
我该怎么做呢?
我通过在浏览器中键入以下URL来调用Slng servlet:http://localhost:4502/servlets/getpublications?name=john.smith
谢谢!
编辑:
这是我从APIX (在IntelliJ上调试)获得的JSON数据的一个示例:
"LINKS":[
"<a x-cq-linkchecker=\"skip\" target=\"_blank\" href=\"http:\/\/www.google23.com\">[Web Link]<\/a>"
]
这就是我在浏览器上得到的东西(a标签不知何故被img标签替换了)
"LINKS":[
"<img src="/libs/cq/linkchecker/resources/linkcheck_o.gif" alt="invalid link: _blank\\" title="invalid link:_blank\\" border="0"> [Web Link]<\/a>"
]
我尝试过对x-cq-linkchecker使用有效和跳过,但没有任何反应。
天CQ链路检查器变压器配置屏幕截图
https://stackoverflow.com/questions/50614747
复制相似问题