2017-03-01 85 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