在CQ中,如果我请求class CMyApp : public CWinApp {
public:
virtual BOOL InitInstance(void);//override
};
CMyApp theApp; //then create object
之类的资源,我将获得JSON格式的节点信息。这同样适用于XML扩展。
我的问题是,如果URL扩展名是localhost:4502/content/geometrixx/en.json
,那么它在哪里实现节点信息以JSON格式呈现?
基本上,扩展只是文本和URL结构的另一部分。只需附加json
就不会以JSON格式神奇地获取信息
显然,必须使用此信息来编写用于以JSON格式返回节点信息的逻辑。
我试图了解CQ的内部工作原理。也许在Apache Sling中获取JSON的概念也是一样的?我不知道它是否具有CQ特定性,但重点是相同的。我也试过json
,但它没有帮助。
答案 0 :(得分:6)
这是Apache Sling的功能。在所有GET请求上调用DefaultGetServlet。 servlet检查请求的扩展名,并使用相应的渲染器(如果已启用)。
查看DefaultGetServlet的代码以及此directory中的渲染器,例如HTML renderer,JSON renderer和XML renderer。
文档位于:https://sling.apache.org/documentation/bundles/rendering-content-default-get-servlets.html