我希望能够返回带有一些特定动态数据的json响应。我很难理解这样做的步骤。这不是用于获取CQ自动执行的节点详细信息。
目标是使用类似的请求返回json响应 HTTP:///def/getMyInfo.json
答案 0 :(得分:1)
如果您想在组件级别执行此操作,则可以通过在组件中创建JSON.jsp来实现。
在jsp中你会有类似
的东西<%@ page import="org.apache.sling.commons.json.io.*" %>
<%@include file="/libs/foundation/global.jsp" %>
<%
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
JSONWriter writer = new JSONWriter(response.getWriter());
writer.object();
writer.key("Name");
writer.value("English");
writer.key("Code");
writer.value("en");
writer.endObject();
%>
然后如果你想访问json,你可以访问它 http://localhost:4502/content/geometrixx/en/jcr:content/mycomponentinstance.json
如果您希望它更通用,可以将JSON.jsp添加到页面组件而不是普通组件,然后您需要调用 而是http://localhost:4502/content/geometrixx/en/jcr:content.json。
答案 1 :(得分:0)
我想更像这样访问它 - 没有jcr:content
https://github.com/git-for-windows/git/releases/download/v2.8.3.windows.1/Git-2.8.3-32-bit.exe
我创建了一个mycomponentinstance页面,它有一个sling资源组件mycomponentinstance。该组件有一个文件mycomponentinstance.json.jsp,带有我的json响应。它还有Page.json,我认为这是让它识别出来的关键。