有没有一种方法可以让JSP文件在AEM中使用HTML扩展名?

有没有一种方法可以让JSP文件在AEM中使用HTML扩展名?,aem,sling,Aem,Sling,我有一个包含动态内容的页面: /content/foo/bar/baz.jsp 但我希望它可以通过.html扩展名访问 正确的方法是什么?您混淆了Apache Sling中的一些概念 Sling上有两个重要的目录/apps和/content。在/apps中,您应该将所有JSP放在/content中,顾名思义,您只放内容。内容是资源及其属性 /content中的节点有一个属性sling:resourceType。当从/content请求节点时,Sling会查找该节点的resourceType,并

我有一个包含动态内容的页面:

/content/foo/bar/baz.jsp
但我希望它可以通过
.html
扩展名访问


正确的方法是什么?

您混淆了Apache Sling中的一些概念

Sling上有两个重要的目录/apps/content。在/apps中,您应该将所有JSP放在/content中,顾名思义,您只放内容。内容是资源及其属性

/content中的节点有一个属性
sling:resourceType
。当从/content请求节点时,Sling会查找该节点的resourceType,并调用/apps下匹配目录中的JSP(如果未找到,则调用/libs)

因此,您必须将JSP放在/apps/yourapp/foo/bar/bar.JSP下(如果您希望显式显示,则必须放在名为'bar.html.JSP'的文件中)

然后使用prop
sling:resourceType=“yourapp/foo/bar”
创建一个节点/内容/页面。请求/content/page.html时,将调用bar.jsp

Sling选择在每个请求中调用哪个JSP的过程起初有点复杂,但它遵循关于JSP名称的简单约定。检查他们的相关文件


检查和他们的其他文档。它们非常简单。

您混淆了Apache Sling中的一些概念

Sling上有两个重要的目录/apps/content。在/apps中,您应该将所有JSP放在/content中,顾名思义,您只放内容。内容是资源及其属性

/content中的节点有一个属性
sling:resourceType
。当从/content请求节点时,Sling会查找该节点的resourceType,并调用/apps下匹配目录中的JSP(如果未找到,则调用/libs)

因此,您必须将JSP放在/apps/yourapp/foo/bar/bar.JSP下(如果您希望显式显示,则必须放在名为'bar.html.JSP'的文件中)

然后使用prop
sling:resourceType=“yourapp/foo/bar”
创建一个节点/内容/页面。请求/content/page.html时,将调用bar.jsp

Sling选择在每个请求中调用哪个JSP的过程起初有点复杂,但它遵循关于JSP名称的简单约定。检查他们的相关文件


检查和他们的其他文档。它们非常简单。

请注意,/apps和/content并不是以任何方式固定的,但默认情况下,Sling在/apps和/libs下查找渲染脚本是正确的。在/apps下的节点上设置sling:resourceType属性也会起作用(但不要混淆;-)这里的关键概念是,与其他Web框架不同,sling不提供脚本,它提供通过脚本或servlet呈现的内容资源。请注意,/apps和/content不是以任何方式固定的,但默认情况下,Sling在/apps和/libs下查找呈现脚本是正确的。在/apps下的节点上设置spring:resourceType属性也会起作用(但不要混淆;-)这里的关键概念是,与其他Web框架相比,吊索不提供脚本,它提供的内容资源是通过脚本或servlet呈现的。