2017-03-01 72 views
-1

我基本上试图在AEM中创建一个端点,它将显示类型为application/json的有关创作内容(它是什么,修改日期等)的某些数据。AEM JSON Endpoint

一个例子是www.example.com/content/jsonData[.json|.html]这将显示/返回{'lastModifiedDate': '<date>', 'content': '<content>'}

这将是一个HTL(JavaScript)的分量,而不是一个JSP组件或SlingResource。

+0

有什么不对现有的开箱即用的JSON选择?您可以编写自定义选择器来修改使用传统servlet的JSON数据。 –

+0

你能提供一个关于如何做到这一点的链接吗? – skylerto

回答

0

将json.jsp添加到页面模板的根(http://adobeaemtips.blogspot.ca/2014/06/jsonjsp.html)。

抓住从页面上的成分含量,添加以下到JSP:

String path = currentPage.getPath() + "/jcr:content/<component>"; 
writer.key("data"); 
String data = resourceResolver.getResource(path).adaptTo(Node.class).getProperty(<property name>).getString(); 
writer.value(data); 
+1

在您的JSP中编写脚本是一个坏主意。使用“json”选择器创建SlingServlet会更好。 – mickleroy

+0

你能提供一个关于如何解决这个问题的资源吗? – skylerto

+1

这是从资源写出JSON的优秀资源:http://www.nateyolles.com/blog/2015/12/converting-aem-sling-resources-to-json – mickleroy