我可以在我的AJAX调用中使用以下URL成功调用locations.json.jsp,但我想知道是否有更清洁的方法?
这个:/content/API/formdata/locations/_jcr_content.locations.json运行良好,但我想知道是否有办法调用locations.json代替locations.html直接到达json版本无需使用.jsp版本来提供HTML。
答案 0 :(得分:0)
通常,CQ / AEM将节点存储为资源 - 但JSP本身不是那种类型的内容。
如果/content/API/formdata/locations
是sling:resourceType
等于页面/组件的页面,则可以使用json.jsp
来提供该资源的JSON呈现。但是,您的内容/资源(在/content
下)和呈现它的组件(/apps
)之间的路径应该有明显的分离。您上面的示例似乎并未表明存在这种分离。
例如:
/content/API/formdata/locations
页面路径(其中包含jcr:content子节点,以及jcr:content下的任意数量的子节点)/apps/myApp/page/myPage
页面组件,其子JSP包含myPage.jsp
,(或html.jsp
)和json.jsp
/content/API/formdata/locations/jcr:content
属性sling:resourceType
= myApp/page/myPage
(或/apps/myApp/page/myPage
)描述了资源渲染器的路径 - 允许以HTML或JSON格式进行多次“渲染”