如何在Adobe AEM中解析page.thumb.319.319.png?

如何在Adobe AEM中解析page.thumb.319.319.png?,aem,sling,Aem,Sling,我似乎无法理解Adobe AEM(以前的CQ)是如何解析thumb Url的 给定以下Url: /content/geometrixx-outdoors/en.thumb.319.319.png “en”是指依赖于geometricxx/components/page_homesling:resourceType的内容 “thumb”、“319”和“319”是选择器,但组件“page_home”没有匹配的jsp(如thumb.png.jsp)来处理请求 主页继承自geometrixx/comp

我似乎无法理解Adobe AEM(以前的CQ)是如何解析thumb Url的

给定以下Url:

/content/geometrixx-outdoors/en.thumb.319.319.png
“en”是指依赖于
geometricxx/components/page_home
sling:resourceType的内容

“thumb”、“319”和“319”是选择器,但组件“page_home”没有匹配的jsp(如thumb.png.jsp)来处理请求

主页继承自
geometrixx/components/page
,后者又继承自
foundation/components/page
。后者有一个名为
thumboil.jpg.jsp
的jsp,但这也不匹配

然后是一个名为
/libs/foundation/components/primary/cq/Page
的奇怪目录(即,它不是一个组件),在那里我们可以找到
thumb.png.jsp
。根据我添加的一些日志,这个脚本正在参与请求;虽然我不知道怎么做。它只包括proxy.jsp,其中包括jcr:content节点

我怀疑包含jcr:content意味着调用:

/content/info-site/en/_jcr_content.thumb.319.319.png
在这一点上,我不清楚会发生什么。似乎默认的GET.java必须启动或执行其他操作。但是,我找不到
\ujcr\ucontent.png.jsp
png.GET.java
。在
/var/classes/org/apache/jsp/libs/foundation/components/primary/cq/Page/thumb\u png\u jsp.java
上有一个类,看起来它可以工作,但我不确定如何调用它


编辑:刚刚意识到
/var/classes/org/apache/jsp/libs/foundation/components/primary/cq/Page/thumb\u png\u jsp.java
是前面提到的
thumb.png.jsp
的编译版本,所以我猜这是一条死胡同。

它不是通过jsp解决的,而是通过com.day.cq.wcm.core.impl.servlets.ThumbnailServlet组成部分

注册此servlet以响应sling/servlet/default resourceType和thumb选择器。因此,它基本上会使用该选择器响应任何请求


您可以在osgi web控制台的组件列表中查找它,它不是通过jsp解决的,而是通过com.day.cq.wcm.core.impl.servlets.ThumbnailServlet组件解决的

注册此servlet以响应sling/servlet/default resourceType和thumb选择器。因此,它基本上会使用该选择器响应任何请求


您可以在osgi web控制台的组件列表中查找它

谢谢!我在cq-wcm-core-5.5.6.jar中找到了ThumbnailServlet类,OSGI-INF serviceComponents.xml将其注册到带有“gif”、“png”或“jpg”扩展名的“thumb”选择器。谢谢!我在cq-wcm-core-5.5.6.jar中找到了ThumbnailServlet类,其中OSGI-INF serviceComponents.xml使用“gif”、“png”或“jpg”扩展将其注册到“thumb”选择器。